- TOP>
- iOS Objective-C, Swift Tips
iOS Objective-C, Swift Tips
Appleから新言語Swiftが発表され、iPhoneアプリも以前より開発しやすくなった。Swiftは3.0に対応。コードはXcode 10.2で書き、iPhone 5s(iOS 12.0)、iPhone SE(iOS 11.4.1)、及びiPhone 8(iOS 12.2)等で動作を確認している。
秒速でSwift 5.0に対応中。
気付いたSwift 2.0の変更点
- Apple Developer Programに登録しなくても実機デバッグできるようになった!
- println→printに統合。デバッグに最適(とAppleは言っている)なdebugPrintが使えるように。
- printlnも含め、advance、sort等のグローバル関数が利用不可に。
- String.Indexに従前のadvance関数の代わりとなるadvancedByメソッドが追加。
- Arrayのソート関連メソッド名が変更された。
- 値が変更されない変数をvarで宣言しているとletで宣言するよう促される。
- Do-WhileがRepeat-Whileになってたり...
- Do-Catch、tryキーワードの追加等、エラーハンドリングの強化。
気付いたSwift 3.0の変更点
- CスタイルのFor文が削除された。
- StringのString.Index周りが変更に。
- Arrayのソート関連メソッド名が再度変更された。
- ++演算子、及び--演算子が削除された。
- NSDate→Date、NSDateFormatter→DateFormatterに変更等。
- 関数の最初の引数も"_"を付加して宣言しなければ呼出し時に引数ラベルが必要となった。
気付いたSwift 4.0の変更点
- Stringにcountプロパティが追加され、prefix、suffix等のメソッドが使えるようになった。
気付いたSwift 5.0の変更点
GPSから位置情報を取得する | CLLocationManager, CLLocationManagerDelegate | Objective-C |
Map Viewで地図を表示する | MKMapView | Objective-C |
Web ViewでWebページを表示する | UIWebView, NSURLRequest, NSURL | Objective-C |
ピンチイン/ピンチアウトで画像を拡大/縮小 | UIScrollView, UIImageView, UIScrollViewDelegate | Objective-C |
ボタンが押されたらメッセージを表示 | UIButton, UIAlertView | Objective-C |
文字列と数値の変換(Swift) | String, Int, Double, integerValue, doubleValue | Swift3 |
Dictionaryの初期化と追加、削除(Swift) | Dictionary | Swift |
配列に整数のインデックスを付ける(Swift) | enumerated | Swift3 |
配列の初期化と追加、削除(Swift) | Array | Swift3 |
配列をソートする(Swift) | Array, sort, sorted | Swift3 |
Stringでフォーマット(Swift) | NSString | Swift |
Stringの連結と補間(Swift) | \() | Swift |
大文字小文字の区別なく文字列を比較する(Swift) | caseInsensitiveCompare, lowercased, uppercased, localizedCaseInsensitiveCompare | Swift3 |
文字列を分割する(Swift) | split, components | Swift4 |
文字列を検索する(Swift) | range | Swift3 |
正規表現による文字列の抽出(Swift) | NSRegularExpression, NSTextCheckingResult | Swift4 |
部分文字列の取得(Swift) | prefix, suffix, index, [], String.Index | Swift5 |
For文(Swift) | for-in, 制御文 | Swift3 |
Guard文(Swift) | guard, 制御文 | Swift |
If文(Swift) | if, 制御文 | Swift |
Switch文(Swift) | switch, fallthrough, break, 制御文 | Swift |
tryキーワードによるエラーハンドリング(Swift) | do-catch, try, try?, try! | Swift3 |
While文(Swift) | while, repeat-while, 制御文 | Swift4 |
ネストが深いループから一気に抜け出す(Swift) | ラベル付きステートメント, break, 制御文 | Swift |
printで改行させない(Swift) | print | Swift |
ログ出力(Swift) | print, debugPrint, NSLog | Swift |
クロージャ(Swift) | クロージャ | Swift3 |
関数(Swift) | func | Swift3 |
クラス(Swift) | class | Swift |
ウィンドウの階層構造を3D表示する(Swift) | Viewの階層構造 | Swift |
HTTP GETとPOST(Swift) | URLRequest, URLSession | Swift4 |
ファイルアップロード(Swift) | URLRequest, URLSession, Data | Swift4 |
日付の取得とフォーマット(Swift) | Date, DateFormatter | Swift3 |
Interface Builderで3D Touch(Peek & Pop)を実装する(Swift) | 3D Touch | Swift |
iOS 8以降で使えるUIAlertController(Swift) | UIAlertController | Swift3 |
iOS 8以降で使えるWKWebViewでWebページを表示する(Swift) | WKWebView, WKNavigationDelegate | Swift3 |
iOS 9以降で使えるSFSafariViewControllerでWebページを表示する(Swift) | SFSafariViewController, SFSafariViewControllerDelegate | Swift3 |
iOSのバージョン判定(Swift) | UIDevice, #available | Swift |
UIWebViewでWebページを表示する(Swift) | UIWebView, UIWebViewDelegate | Swift3 |
View Controllerを3D Touchに対応させる(Swift) | UIViewController, UIViewControllerPreviewingDelegate, 3D Touch | Swift |
Web Viewで3D Touchによるプレビュー(Peek)を実装する(Swift) | UIWebView, WKWebView, allowsLinkPreview, 3D Touch | Swift |
Web Viewでhttpのサイトが表示されない(Swift) | UIWebView, WKWebView, ATS | Swift |
アプリアイコンにバッジを表示(Swift) | UIApplication | Swift |
ブラウザを開く(Swift) | UIApplication | Swift4 |
ボタンが押されたらメッセージを表示(Swift) | UIButton, UIAlertView | Swift |
ボタンの角を丸くする(Swift) | UIButton | Swift |
UIImagePickerControllerの表示を日本語にする(Swift) | UIImagePickerController | Swift |
カメラの利用(AVFoundation)(Swift) | AVCaptureSession, AVCaptureVideoPreviewLayer | Swift4 |
カメラの利用(UIImagePickerController)(Swift) | UIImagePickerController, UIImagePickerControllerDelegate, UINavigationControllerDelegate | Swift4 |
画像の向きを指定して保存する(Swift) | UIImage, UIImageOrientation | Swift |
GPSから位置情報を取得する(Swift) | CLLocationManager, CLLocationManagerDelegate | Swift4 |
Map Viewで地図を表示する(Swift) | MKMapView | Swift |
ジオコーディング(Swift) | CLGeocoder | Swift4 |
Google Mapsを起動する(Swift) | UIApplication | Swift4 |
Copyright© 2004-2019 モバイル開発系(K) All rights reserved.
|