2018年1月12日金曜日

Swiftメモ(Obj-Cユーザ向け)

・SwiftでCocoaフレームワーク作成:

ターゲット追加時のウィザードでswiftによるcocoaフレームワークを設定できていれば、
公開したいクラスやメソッドにpublicを付けるだけで良さそう。

参考: ios8 - How do I add a swift class to my framework header? - Stack Overflow

Xcodeの右ペインでObj-Cのヘッダファイルに設定していたPublic/Private/Projectに相当するのは
public/private/internalっぽいですねどうやら。

参考: Swift: how can I create external interface for static library (public headers analog in Objective-C .h) - Stack Overflow

・stringByAppendingPathComponent:

先にURLオブジェクトを作ってからappendingPathComponent(pathComponent:)を使うっぽい。

・変数末尾の'!'や'?':

?がnilを許容…くらいの知識しか無いので、
2.1.12. オプショナル | 基本 | Swift | スタジオガラゴを後で読む。
変数がnilだった場合のデフォルト値として'??'というのものあるようですね。

・#pragma mark:

// MARK:を使う。

参考:#pragma mark in Swift? - Stack Overflow

・isKindOfClass:

is という演算子を使う。

参考:ios - Using isKindOfClass with Swift - Stack Overflow

・その他不明点:

・blocksを引数に含む場合の書き方がよくわからん
・@escapingとは?
・NSLogとフォーマットまわり