fuz*_*oat 12 iphone cocoa-touch objective-c
我可以问我应该使用哪个版本,在我的旧应用程序中,我似乎使用"B"但是当我在网上查看很多示例时,我看到很多版本看起来像"A".
// A
- (id)initWithCoder:(NSCoder *)decoder {
self=[super initWithCoder:decoder];
if(self) {
...
Run Code Online (Sandbox Code Playgroud)
要么
// B
- (id)initWithCoder:(NSCoder *)decoder {
self=[super init];
if(self) {
...
Run Code Online (Sandbox Code Playgroud)
alb*_*amg 13
取决于超类是否符合NSCoding协议.如果是,你必须打电话[super initWithCoder:decoder].如果没有,则必须调用超类的指定初始值设定项.
例如,如果你的类是直接的子类NSObject,你会叫[super init],NSObject的指定初始化,因为NSObject不符合NSCoding协议.
Bol*_*ock 12
如果超类采用NSCoding(可能并非总是如此),请始终调用
[super initWithCoder:decoder]
Run Code Online (Sandbox Code Playgroud)
否则调用其指定的初始化程序.
| 归档时间: |
|
| 查看次数: |
4197 次 |
| 最近记录: |