我正在學習Big-Nerd Ranch指南的Objective-C。 筆者使用存儲從該控制器可以得到一些數據顯示:通過私有屬性初始化一個屬性
#import "BNRItemStore.h"
#import "BNRItem.h"
@interface BNRItemStore()
@property(nonatomic) NSMutableArray *privateItems;
@end
@implementation BNRItemStore
+(instancetype)sharedStore {
static BNRItemStore *sharedStore = nil;
if (!sharedStore){
sharedStore = [[BNRItemStore alloc] initPrivate];
}
return sharedStore;
}
-(instancetype)initPrivate {
self = [super init];
if (self) {
_privateItems = [[NSMutableArray alloc] init];
}
return self;
}
我的問題是關於_privateItems = [[NSMutableArray alloc] init];
線:爲什麼我們初始化_privateItems
而不是privateItems
?
問候。
羅恩將它釘在頭上。如果你正在尋找外部引用,請參閱[不要在初始化方法中使用訪問器方法和dealloc](https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/MemoryMgmt/Articles/mmPractical。 HTML#// apple_ref/DOC/UID/TP40004447-SW6)。 – Rob