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

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

入門

【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入門 #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入門 #277】「失敗する可能性があるイニシャライザ」を定義する

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

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

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

【iOS Swift入門 #275】UIButtonの高さを0にしてもテキストが残ってしまう

この記事を読んでわかること UIButtonの高さを0にしてもテキストが残ってしまう場合の解決方法 例えば、下記のようにUIButtonがひとつある画面がある。 ある条件を満たした場合にUIButtonを非表示にするということがある。 hiddenプロパティで非表示にすると…

【iOS Swift入門 #270】集合(Set)の使い方。コレクションは配列(Array)、辞書(Dictionary)だけじゃない。

この記事を読んでわかること 集合(Set)の使い方 Setは同じ型のデータを格納できるコレクションです。 その他のコレクションであるArrayやDictionaryとの違いは以下の点にあります。 要素に重複がない 要素の順序が決まっていない 作成 let setA: Set<Int> let set</int>…

【iOS Swift入門 #267】全角カタカナ・数字・アルファベットを半角に変換する

はじめに 全角カタカナ・数字・アルファベットだと表示枠に収まらないため、 半角にすれば、収まるのではないかということがあった。 例えば、 「プログラミング」を「プログラミング」 「PROGRAMMING」を「PROGRAMMING」 「12345」を「12345」 …

【iOS Swift入門 #266】XCTestでプロジェクト内ファイルを参照するときにpathForResourceメソッドを使うときは注意しよう

はじめに XCTestでプロジェクト内ファイルを参照するとき、 アプリでプロジェクト内ファイルを参照するときと同じように処理を書くと うまくいかないので注意。 imobile_pid = "33302"; imobile_asid = "568775"; imobile_width = 300; imobile_height = 72;…

【iOS Swift入門 #265】Xcode7.xから使えるようになったUIStackViewを使ってみた。AutoLayoutで苦労していたのが楽になりそう。

Xcode7で使えるようになったUIStackViewとは何か? 聞いた話ではすごい便利になったとか。 となりで話を聞いていたandroidエンジニアは、 やっとiOSでもできるようになったのか、と話していました。 どんなときに便利なのか? 少し勉強し、こんなときに使え…

【iOS Swift入門 #229】Google Maps SDKセットアップガイド・使い方

1.Google Maps SDKインストール CocoaPodsを使う。pod初期化 ターミナルでプロジェクトファイルのあるフォルダに移動し、下記コマンドを実行pod init②フォルダに作成されたPodfileをエディタで開く ③ファイルを下記のように編集する(#追記がある行を追記) # …