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

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

Objective-C

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

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

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

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

【iOS Swift入門 #272】Carthageで特定のライブラリだけ更新する

この記事を読んでわかること Carthageで特定のライブラリだけ更新する方法 Carthageのv0.12がリリースされました。 Carthage 0.12をリリースしました - いけだや技術ノート 以前はすべてのライブラリを更新することしかできませんでしたが、 このv0.12で特定…

【iOS Apple Watch,watchOSプログラミング入門 #009】CocoaPodsで複数のターゲットで共通するライブラリがある場合のPodfileの定義方法

この記事を読んでわかること CocoaPodsで複数のターゲットで共通するライブラリがある場合のPodfileの定義方法 CocoaPodsで複数のターゲットで共通するライブラリがある場合のPodfileの定義方法 例えば、iOSアプリとApple Watchアプリで 共通の外部ライブラ…

【iOS Swift入門 #240】セマフォ(semaphore)を使って排他制御するサンプル

排他制御したいとき、GCDで関数が用意されている関数を使う。下記3つである。 ①dispatch_semaphore_create ②dispatch_semaphore_wait ③dispatch_semaphore_signal使ってみる。■例 ①非同期で画像をダウンロードする ②ループのindex * 共有変数numを共有変数nu…

【iOS Swift入門 #234】GIFアニメーションを再生するサンプル(FLAnimatedImage)

GIFアニメーションを再生するには?Flipboardが公開しているFLAnimatedImageを使うと簡単。Flipboard/FLAnimatedImagegithub.com 使い方は下記の通り。 ①FLAnimatedImageのイニシャライザにGIFアニメーションデータを渡し、初期化。 ②作成したFLAnimatedImag…

【iOS Swift入門 #230】[!] Unable to find a specification for `GoogleMaps`でインストールできない

GoogleMapsのSDKをインストールしようとした。 CocoaPodsを使ってインストールする手順になっているのだが、 pod install すると、[!] Unable to find a specification for `GoogleMaps`と表示され、インストールできない。 GoogleMaps以外はCocoaPodsでイン…

【iOS Swift入門 #228】位置情報アクセス許可変更のためにアプリから設定画面を表示するサンプル

■はじめに 設定画面からアプリの位置情報オン・オフする場所が 結構深い位置にあるため、ユーザーが一度位置情報アクセス許可を オフにした場合、その後オンにしてもらうのはハードルが高い。iOS8ではアプリから、位置情報のアクセス許可オン・オフにする場…

【iOS Swift入門 #224】preconditionの使い方

preconditionはある条件を満たさないときにアプリを強制終了させるのに使う。■Assertとpreconditionの違い assertはdebug buildでだけ有効 preconditionはdevelopment buildとrelease buildで有効■preconditionの定義 ・conditionがfalseのときに失敗させる …

【iOS Swift入門 #223】assertを使う

アプリを複数人で作っている場合や、 一人で作っていても後々別の人が保守していくようになった場合に有効。この部分のソースはこういう値以外は無効だよと、 ソースを読んでいる人に伝えられる。assert関数はいくつか用意されているが、ひとつ試す。assert(…

【iOS Swift入門 #222】クラスにsubscriptを定義する

Dictionaryの要素にアクセスするときに 変数["キー"] とする。Swiftではsubscript文を使って、 独自クラスに実装できる。 しかも、キーは文字列でなくても、数値やクラスなどを使って定義できる。■Modelクラスが持つ配列にアクセスできるようにする・下記の…

【iOS Swift入門 #221】同じ値を複数もつ配列を作成する

同じ値を複数もつ配列を作成する場合、 Arrayのイニシャライザーを使うのが便利。同じ値を複数もつ配列を作成する場合とは?例えば、0を10個もつ配列を作成する。 下記のように作成できる。 var numbers = [0,0,0,0,0,0,0,0,0,0] Arrayのイニシャライザーを…

【iOS Swift入門 #220】関数プログラミング その5(Partial Function 部分関数・部分適用)

関数プログラミングではPartial Function(部分関数・部分適用)という用語があるようだ。いろいろ調べてみたがよくわかっていないが、 一応下記の通りかと納得させている。あるひとつまたは複数の引数を指定できるメソッドや関数から、指定できる引数を減らし…

【iOS Swift入門 #219】関数プログラミング その4(複雑な処理を簡略化)

for文、if文がいくつもあり複雑な処理を関数型プログラミングで簡略化する。■配列内の文字列を先頭の1文字が同じものどうしでグループ化する・関数プログラミングを使わない場合 // 単語リスト let words = ["Cola", "Coffee", "orange juice", "Cider", "Po…

【iOS Swift入門 #218】関数プログラミング その3(配列のmap)

map関数は配列を処理・変換し、別の配列を作成する場合に使用する。■文字列の配列を処理し、別の文字列の配列を作成する ・関数プログラミングを使わない場合 // プログラミング言語の名前配列 let languages = ["Swift", "Objective-C", "Ruby", "PHP", "JA…

【iOS Swift入門 #217】関数プログラミング その2(配列のreduce)

reduce関数はそれぞれの配列の要素を計算し、 ひとつの結果を得るために使用する。■1から10の数値の奇数の合計値を計算する ・関数プログラミングを使わない場合 // 1から10の数値にある奇数を抽出 var odds = [Int]() for i in 1...10{ if i % 2 == 1{ odds…

【iOS Swift入門 #216】関数プログラミング その1(配列のfilter)

特定の条件を満たす配列の要素だけを別の配列として抽出する。 filter関数を利用する。■1から10の数値から奇数の数値を抽出する ・関数プログラミングを使わない var odds = [Int]() for i in 1...10{ // 2で割ったあまりが1なら奇数ですね。 if i % 2 == 1{…