Swift,Objective-Cプログラミング ~ iOS ~

Objective-C,Swift,Apple Watchなどのプログラミング

【iOS Swift入門 #305】アプリ独自の色(Color)定義をAssetCatalogで管理する

はじめに どのような色なのか一目でわかるという点についての補足 Asset Catalog上の表示 StoryboardやXIBファイルで色のプロパティを設定するときに選択肢に表示されます 実装例 注意 Swift 入門書籍 仕事でやれるレベルになるために 平均的プログラマーを…

【iOS Swift入門 #304】iOS11でペースト処理をやりやすくなった(copy paste)

iOS11でのペーストの変更点 iOS11でペーストが使いやすくなりました。 主な変更点 UIPasteCongifurationでペーストで受け入れるデータを指定できるようになりました UIResponderを継承しているクラスでpaste(itemProviders: )メソッドを実装できるようになり…

【iOS Swift入門 #303】RxRealmを使って、設定変更後、即時に表示に反映するサンプル

はじめに この記事について RxRealm 完成イメージ 実装 サンプル Swift 入門書籍 仕事でやれるレベルになるために 平均的プログラマーを超えるために はじめに RxRealmはRealmをRxSwiftでラップしている Realmのデータ変更をObservableで取得できるところが…

【iOS Swift入門 #302】非同期処理のobservableをテストする(RxSwift, RxBlocking)

はじめに テストコード テスト対象 コード サンプル Swift 入門書籍 仕事でやれるレベルになるために 平均的プログラマーを超えるために はじめに 非同期処理のobservableをテストをする場合、RxBlockingを使います。 RxBlockingはRxSwiftレポジトリに含まれ…

【iOS Swift入門 #301】Eurekaを使って設定画面の作成

はじめ 導入 CocoaPods Carthage 実装 画面イメージ ソース サンプルダウンロード おわりに Swift 入門書籍 仕事でやれるレベルになるために 平均的プログラマーを超えるために はじめ テーブルビューを使って、設定画面を作ることがよくある。 よくあるのだ…

【iOS Swift入門 #300】[RxSwift]observableをトリガーとして使う(withLatestFrom)

はじめに withLatestFrom(_: ) 例ボタンタップするとテキストフィールドの入力値をラベルに表示する 画面 ソース サンプル入手 例ボタンタップするとテキストフィールドの入力値を使ってAPIにりくえすとする 画面 ソース サンプル入手 Swift 入門書籍 仕事で…

【iOS Swift入門 #299】[RxSwift]バインドできるプロパティを作成する

この記事を読んでわかること はじめに UIプロパティを拡張する サンプルアプリ サンプルソースのダウンロード Swift 入門書籍 仕事でやれるレベルになるために 平均的プログラマーを超えるために この記事を読んでわかること RxSwift(RxCocoa)でUIプロパティ…

【iOS Swift入門 #298】Swift3.1での変更点「Sequenceプロトコル(Array等)への関数追加」

この記事を読んでわかること Sequenceプロトコル(Array等)への関数追加 prefix(while:) 例: 条件は「100未満の値」 例: 条件は「1文字以上」 drop(while:) 例: 条件は「100未満の値」 例: 条件は「1文字以上」 Swift 入門書籍 仕事でやれるレベルになるため…

【iOS Swift入門 #297】Swift3.1での変更点「Intのイニシャライザが追加」

この記事を読んでわかること Intのイニシャライザが追加 例 Swift 入門書籍 仕事でやれるレベルになるために 平均的プログラマーを超えるために この記事を読んでわかること Swift3.1での変更点 init?(exactly:)の使い方 Intのイニシャライザが追加 Swift3.1…

【iOS Swift入門 #296】アプリアイコンを動的に変更する。サンプルあり(iOS10.3から可能)

この記事を読んでわかること アプリアイコンを動的に変更する方法のポイント 実装 1.プロジェクトにアイコン画像を追加する 2.info.plistにアイコン情報を追加する 3.アイコンを変更するトリガーとなる処理を書く サンプル サンプルの概要 サンプルソースの…

【iOS Swift入門 #295】アプリ起動中(フォアグラウンド)でも通知(ローカル・リモート)を表示する

この記事を読んでわかること はじめに 方法 サンプル AppDelegate ViewController Swift 入門書籍 仕事でやれるレベルになるために 平均的プログラマーを超えるために この記事を読んでわかること アプリ起動中に通知(ローカル・リモート)を表示する方法 は…

【iOS Swift入門 #294】Zipファイルの圧縮・解凍チュートリアル(Tutorial)

はじめに この記事を読んでわかること Zipファイルの圧縮・解凍に使うライブラリ プロジェクトへの追加方法 解凍 圧縮 サンプル 参考情報 Zip Swift 入門書籍 仕事でやれるレベルになるために 平均的プログラマーを超えるために はじめに iOS Swiftを使ったZ…

【iOS Swift入門 #293】iOS10 画像添付したローカル通知を送信・受信する

はじめに 実装 ローカル通知に画像を添付 サンプルのダウンロード 参考情報 Swift はじめに 画像添付したローカル通知を送信・受信する処理を確認します。 これ以降のサンプルは下記記事のサンプルの続きです。 そもそも、iOS10のローカル通知について初めて…

【iOS Swift入門 #292】 iOS10 User Notification frameworkを使ってローカル通知を送信する

はじめに この記事を読んでわかること 実装 通知送信許可の取得 通知のリクエスト 例 サンプルのダウンロード 参考情報 Swift はじめに iOS10になって、通知の実装が刷新された。 簡単なローカル通知を送信する処理を実装して、基礎を学ぶ。 この記事を読ん…

【iOS Swift入門 #291】グラデーションしているViewをつくる

この記事読んでわかること やり方 グラデーションの方向 水平方向にグラデーション 垂直方向にグラデーション 右下方向にグラデーション 色を切り替える地点 切り替える色 例 ダウンロード 参考情報 Swift この記事読んでわかること グラデーションしているV…

【iOS Swift入門 #290】文字列・テキストをUILabelに表示するために必要な領域サイズを計算する

はじめに この記事を読んでわかること やりかた ソース 例 サンプルソースのダウンロード 参考情報 Swift はじめに 文字列・テキストの表示に必要な領域サイズを得るときに、 NSStringやNSAttributedStringクラスの boundingRect(with:options:context:)メソ…

【iOS Swift入門 #289】UILabelオブジェクトを複製・コピーする

はじめに やりかた ソース 例 例:コンソールで確認 例:画面で確認 サンプルソースのダウンロード 参考情報 Swift はじめに UILabelオブジェクトを複製したいということがあるかも、 ということでやりかたを調べた。 やりかた NSKeyedArchiverクラスでNSData…

【iOS Swift入門 #288】UILabelやUIButtonに表示している文字列のフォントサイズを自動調整させる

はじめに この記事を読んでわかること 自動調整させるには? 例 自動調整させない場合 ソース スクリーンキャプチャ 自動調整させた場合 ソース スクリーンキャプチャ サンプルソースのダウンロード 参考情報 Swift はじめに UILabelやUIButtonのサイズは固…

【iOS Swift入門 #287】関数・メソッドのパラメータにvarを指定できないように変更 [Swift3.0]

関数・メソッドのパラメータにvarを指定できないように変更 Swift3.0以前にこれができることを知らなかった。 変更された理由はvarとinoutが混同してしまうことがあるから。 変更前(Swift3.0からはエラーになる) import UIKit // 関数・メソッド内で変更でき…

【iOS Swift入門 #286】Carthageのビルドで「failed with exit code 65」が出たときにした対応の話

この記事を読んでわかること Carthageのビルドで「failed with exit code 65」が出たときにした対応 現象 carthage updateするとSwiftDateという オープンソースだけエラーが発生する。 *** Building scheme "SwiftDate" in SwiftDate.xcworkspace ** CLEAN …

【iOS Swift入門 #285】CoreAnimationを使ったスプリングアニメーション(CASpringAnimation)

この記事を読んでわかること CoreAnimationを使ったスプリングアニメーション CASpringAnimationで使うプロパティについて CoreAnimation Frameworkにある CASpringAnimationクラスを使う。 (Deployment TargetがiOS9.0以上である必要あり) damping この値が…

【iOS Swift入門 #284】引数のデータ型が異なるが、名前が同じメソッドを実行した場合に、どのメソッドが実行されるか?

この記事を読んでわかること 引数のデータ型が異なるが、名前が同じメソッドを実行した場合に、どのメソッドが実行されるか? 確認 AnimalクラスとDogクラスがある。 DogクラスはAnimalクラスを継承している。 import Foundation class Animal{ let name:Str…

【iOS Swift入門 #283】引数の数が可変の関数・メソッドを定義する

この記事を読んでわかること 引数の数が可変の関数・メソッドの定義 引数の数が可変の関数・メソッドの定義 引数のデータ型を「<データ型>...」としてあげればいい。 例えば、Int...やString...。 func participants(of names: String...){ names.forEach{ p…

【iOS Swift入門 #282】独自クラスの配列を拡張(extension)する

この記事を読んでわかること 独自クラスの配列を拡張してメソッドを追加する 独自クラスの配列を拡張してメソッドを追加する まずは独自クラスのAnimalクラスを作成した。 プロパティにnameを持つだけ。 class Animal:NSObject{ let name: String init(name:…

【iOS Swift入門 #281】Swift3.0がリリースされて、改めてSwiftを勉強してわかったこと その1

この記事を読んでわかること Swiftを改めて勉強した、私の気付き Swift3.0での変更点だけでなく、今まで知らなかったことにも気づけました。 気づいたこと repeat文 do whileの繰り返し構文でdoに代わって、repeatを使うことになった。 repeat while構文とな…

【iOS Swift入門 #280】テーブルビューをスクロールしたときにカクカクするのを無くすためにすること ~カラーブレンド(color blend)処理を無くす~

この記事を読んでわかること テーブルビューをスクロールしたときにカクカクするのを無くすためにすること テーブルビューをスクロールしたときにカクカクする原因は、 描画処理に重い処理(複数のことも)が入ることによって発生していることがあります。 今…

【iOS Swift入門 #279】KeyChain(キーチェーン)データの バックアップ・復元可否

はじめに キーチェーンのデータの設定などにより復元できるかが変わります。 主に下記の2つの内容によって変わってきます。 - バックアップ方法 - 復元端末 調べて、簡単に整理しました。 バックアップ方法 バックアップ方法としては下記のように分けられま…

【iOS Swift入門 #278】ScrollMenu(スクロールメニュー)を作ってみました

この記事を読んでわかること ScrollMenuの使い方 はじめに 画面の上のほうに横スクロールメニューを作りました。 ニュース系アプリやブログまとめアプリで使われているのを見ますね。 ↓のキャプチャのように動きます。 github.com 実践編 画像の切替 簡単な…

【iOS Swift入門 #277】「失敗する可能性があるイニシャライザ」を定義する

この記事を読んでわかること 失敗する可能性があるイニシャライザ 初期化に失敗させる場合 イニシャライザの中で各種プロパティの初期化に失敗した場合 失敗する可能性があるイニシャライザの定義 initではなく、init?でイニシャライザを定義する。 注意すべ…

【iOS Swift入門 #276】UITabBarの真ん中のボタンを強調表示する方法のサンプル

この記事を読んでわかること UITabBarの真ん中のボタンを強調表示する方法 はじめに タブバーの真ん中だけ大きく表示されていたり、 真ん中以外のボタンとは表示が異なるようなデザインを見かける。 例えば、Money Forwardという家計簿アプリでは、 真ん中の…