我有一个NSMutableString,我将其他字符串附加到。
当我打印String时,我得到null。
<。>文件中的
NSMutableString *name;
@property(nonatomic, retain) NSMutableString *name;
<。>文件中的
@synthesize name;
-(IBAction) a {
if (uppercase == 1) {
[name appendString:@"A"];
NSLog(@"name: %@", name);
}
else
[name appendString:@"a"];
NSLog(@"name: %@", name);
}
触发操作时,我得到以下打印输出。
名称:( null)
为什么这会返回null?
答案 0 :(得分:2)
我的猜测是你从未初次化它。类似的东西:
- (id)init {
// Standard init code here...
self.name = [NSMutableString stringWithString:@""];
}
...确保您拥有可以使用的有效对象?
答案 1 :(得分:1)
您是否在代码中的任何位置设置了“name”的值?在您在问题中粘贴的代码中,“名称”永远不会被设置。你不能将一个字符串附加到一个不存在的东西 - 你有效地试图将一个值附加到null,这就是为什么没有返回任何东西。
所以我想我的答案是:根据您显示的代码,名称从未分配任何内容。如果要为“名称”指定字符串,则问题出在其他地方,但您需要发布作业代码等。