iOS Objective-C, Swift Tips

Appleから新言語Swiftが発表され、iPhoneアプリも以前より開発しやすくなった。Swiftは3.0に対応。コードはXcode 9.0で書き、iPhone 5s(iOS 11.0.2)、iPhone SE(iOS 10.3.3)、及びiPhone 6s(iOS 9.3.5)等で動作を確認している。

秒速で(もう賞味期限切れ?)Swift 4.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等のメソッドが使えるようになった。
GPSから位置情報を取得するCLLocationManager, CLLocationManagerDelegate
Objective-C
Map Viewで地図を表示するMKMapView
Objective-C
Web ViewでWebページを表示するUIWebView, NSURLRequest, NSURL
Objective-C
ボタンが押されたらメッセージを表示UIButton, UIAlertView
Objective-C
ピンチイン/ピンチアウトで画像を拡大/縮小UIScrollView, UIImageView, UIScrollViewDelegate
Objective-C
文字列と数値の変換(Swift)String, Int, Double, integerValue, doubleValue
Swift3
Dictionaryの初期化と追加、削除(Swift)Dictionary
Swift
配列をソートする(Swift)Array, sort, sorted
Swift3
配列の初期化と追加、削除(Swift)Array
Swift3
配列に整数のインデックスを付ける(Swift)enumerated
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
Swift4
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, 制御文
Swift
ネストが深いループから一気に抜け出す(Swift)ラベル付きステートメント, break, 制御文
Swift
printで改行させない(Swift)print
Swift
ログ出力(Swift)print, debugPrint, NSLog
Swift
クロージャ(Swift)クロージャ
Swift3
関数(Swift)func
Swift3
クラス(Swift)class
Swift
ウィンドウの階層構造を3D表示する(Swift)Viewの階層構造
Swift
日付の取得とフォーマット(Swift)Date, DateFormatter
Swift3
GPSから位置情報を取得する(Swift)CLLocationManager, CLLocationManagerDelegate
Swift4
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
UIImagePickerControllerの表示を日本語にする(Swift)UIImagePickerController
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
カメラの利用(AVFoundation)(Swift)AVCaptureSession, AVCaptureVideoPreviewLayer
Swift4
カメラの利用(UIImagePickerController)(Swift)UIImagePickerController, UIImagePickerControllerDelegate, UINavigationControllerDelegate
Swift4
ボタンが押されたらメッセージを表示(Swift)UIButton, UIAlertView
Swift
画像の向きを指定して保存する(Swift)UIImage, UIImageOrientation
Swift3
アプリアイコンにバッジを表示(Swift)UIApplication
Swift4
ボタンの角を丸くする(Swift)UIButton
Swift

Copyright(C) 2004-2017 モバイル開発系(K) All rights reserved.
[Home]