XIBカスタムNSObjectに追加し、そのクラスをNSCodingプロトコルに準拠するNSObjectのサブクラスに設定します。初期化によって、UINibLoaderはinit()を使用します。Nibローダーを強制的に使用するiOSのNSObjectのカスタムサブクラスを使用する
iOSのAppleのリソースプログラミングガイドによると、NSCodingプロトコルに準拠するオブジェクトは、-initWithCoder:メッセージを送信します。
NSObjectのカスタムサブクラスに対してUIKitにinitを使用させるにはどうすればいいですか?
UPD:私のクラス:私はのViewControllerに@IBOutlet var someObject: SomeClass!
に接続XIBで
class SomeClass: NSObject, NSCoding {
static var sharedSomeClass: SomeClass = {
return SomeClass()
}()
required init?(coder aDecoder: NSCoder) {
super.init(coder:aDecoder)
}
override func encode(with aCoder: NSCoder) {
super.encode(with: aCoder)
}
override func awakeAfter(using aDecoder: NSCoder) -> Any? {
return SomeClassManager.sharedSomeClass
}
}
。
あなたのサンプルコードを共有できますか? –
@AnandKore更新された質問 – antonsergeev88