iOS Objective-C, Swift Tips

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

秒速で(もう古い?)Swift 3.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に変更等。
  • 関数の最初の引数も"_"を付加して宣言しなければ呼出し時に引数ラベルが必要となった。
Xcode 5.0でiOS 7アプリの開発Xcode 5.0, iOS 7
Objective-C
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)components
Swift3
文字列を検索する(Swift)range
Swift3
正規表現による文字列の抽出(Swift)NSRegularExpression, NSTextCheckingResult
Swift3
部分文字列の取得(Swift)substring, index, [], String.Index
Swift3
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
Swift
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
Swift3
カメラの利用(UIImagePickerController)(Swift)UIImagePickerController, UIImagePickerControllerDelegate, UINavigationControllerDelegate
Swift3
ボタンが押されたらメッセージを表示(Swift)UIButton, UIAlertView
Swift
画像の向きを指定して保存する(Swift)UIImage, UIImageOrientation
Swift3
ボタンの角を丸くする(Swift)UIButton
Swift

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