Swift2からSwift3へ環境の再構築を行うときにParseのデータオブジェクトクラスの扱いでちょっとハマったのでメモしておきます。
Swift2ではこう書いていた箇所がSwift3では使えなくなります。
1 2 3 4 5 6 7 8 9 |
override public class func initialize() { struct Static { static var onceToken: dispatch_once_t = 0 } dispatch_once(&Static.onceToken) { self.registerSubclass() } } |
いろいろ試行錯誤していたのですが、Swift3ではサブクラス登録を自動的にしてくれるので上記のような記載は不要ということがわかりました。
これだけで十分です。delegateの関係でinitialize()は残していますが、self.registerSubclass()はロードしなくても問題なく使えました。
1 2 3 |
override open class func initialize() { // self.registerSubclass() } |