0
我有一個模型,例如產品。產品需要屬性ID。 所以我認爲模型不能沒有財產。 我的Product類的init方法的實現。Objective-C返回無內部初始化
- (instancetype)initWithProductId:(NSNumber *)productId {
if ([productId integerValue] <= 0) {
return nil;
}
self = [super init];
if (self) {
_productId = productId;
}
return self;
}
在initilization方法中返回nil是否合法?我會得到內存管理問題嗎? 有人可以解釋爲什麼它是合法的,什麼時候應該使用它。
我測試這種情況。我發現''dealloc'方法在'[super init]'之前返回nil時執行。但是我也問過,如果對象在沒有'productId'的情況下不能有任何東西,就返回'init'方法中的nil是正確的方法(例如) – rowwingman