所以我有很多自定义对象,它们可能包含大量数据,或者根据用户的输入包含很少的数据。如果只需要一点点,我显然不想为大量数据创建存储。所以我听说了初始化,这听起来正是我想要的;我只是无法让它工作。这是我尝试之一的示例:
@synthesize name;
...
- (NSString *)name {
if (!name) name = [[NSString alloc] init];
return name;
}
然后在别的地方
myObject.name = localName;
如果我alloc
和init
myObject 的名称在其初始化程序中,那么这很好。但是,当我尝试上述延迟初始化时,对象的名称nil
在尝试设置后变为。我究竟做错了什么?