NSMutableString初始化问题
问题描述:
我有一个NSMutablestring的问题。当我使用它而不覆盖我的类init方法时,它不起作用。NSMutableString初始化问题
我的界面代码:
@interface Topic : NSObject
@property (strong, nonatomic) NSMutableString *title;
@property (strong, nonatomic) NSMutableString *description;
@end
如果我创建了一个对象与此类,然后试图将一个字符串分配给“称号”,它的NSLog打印空!
这是当我试图使用它我的代码:
Topic *myTopic = [[Topic alloc] init];
[myTopic.title appendString:@"Hello World"];
为了避免这个问题,我不得不重写我的主题类init()方法,并添加这一行:
self.title = [[NSMutableString alloc]init];
任何理念?
编辑:这行应该初始化我的属性和方法的权利(不重写init方法)?
Topic *myTopic = [[Topic alloc] init];
感谢,
答
当你第一次创建你的对象,标题目标是零。您必须初始化标题对象,然后才能向其添加任何内容。
self.title = [[NSMutableString alloc] init];
你应该在适当的地方设置它 - 例如,在视图控制器上的viewDidLoad。
有关为什么您不想在init方法中执行此操作,请参阅Tommy的注释。
是什么问题? – 2014-08-28 02:54:15
你必须重写'init'方法并分配你的字符串或者在别处手动分配它们......它们不会神奇地初始化它们自己。 – rebello95 2014-08-28 02:54:19
请至少请学习一些基本的Objective-C教程。 – 2014-08-28 02:56:28