Objective c NSString总是返回nil
有人能帮我找出我可能遗漏了什么吗 我得到了这个错误,看起来非常简单,但我不知道它来自哪里!有几篇关于它的帖子。但似乎没有一个是相关的。我所做的就是 设置属性Objective c NSString总是返回nil,objective-c,ios,nsstring,Objective C,Ios,Nsstring,有人能帮我找出我可能遗漏了什么吗 我得到了这个错误,看起来非常简单,但我不知道它来自哪里!有几篇关于它的帖子。但似乎没有一个是相关的。我所做的就是 设置属性 @property (weak, nonatomic) NSString * rate; 在我看来 self.rate = @"bananas"; NSLog(@"self.rate %@",self.rate); 我一直进入控制台->self.rate(null) 非常感谢您的帮助 谢谢 努诺 p、 我还试图设置一个字符串指针,并尝试
@property (weak, nonatomic) NSString * rate;
在我看来
self.rate = @"bananas";
NSLog(@"self.rate %@",self.rate);
我一直进入控制台->self.rate(null)
非常感谢您的帮助
谢谢
努诺
p、 我还试图设置一个字符串指针,并尝试alloc]init](但我真的看不出有什么原因导致这个问题,事实并非如此)。。。到目前为止没有成功
此外,属性是@synthetic的使您的属性成为强属性使您的属性成为强属性可能的解决方案: 1.(只要其他任何东西都没有指向它的强指针) *2.你忘了
@synthesize rate = _rate;
自我为零
编辑:
4.setter/getter小车
*如Rob在下面的评论中指出的,对2.的更正:
“从Xcode 4.4开始,@synthesis是可选的。在早期版本中,这将是一个编译错误”
可能的解决方案: 1.(只要其他任何东西都没有指向它的强指针) *2.你忘了
@synthesize rate = _rate;
自我为零
编辑:
4.setter/getter小车
*如Rob在下面的评论中指出的,对2.的更正:
“从Xcode 4.4开始,@synthesis是可选的。在早期版本中,这将是一个编译错误”
就像@Guven所说的,我在使用@synthesis的同时设置了一个二传手,而我不应该这样做 我没有意识到代码中有一个“旧”方法setRate
谢谢大家 就像@Guven所说的,我在使用@synthesis的同时设置了一个二传手,而我不应该这样做 我没有意识到代码中有一个“旧”方法setRate
谢谢大家 为什么它
弱
?您是否尝试过将其设置为strong
?可能self已变为零?只是想一想:-必须检查:您是否使用synthesis命令为其创建了setter/getter?@epatel:这是如何工作的?是的,getter和setter是使用@synthesis创建的。为什么它弱?您是否尝试过将其设置为strong
?可能self已变为零?只是想一想:-s必须检查:您是否使用synthesis命令为其创建了setter/getter?@epatel:这是如何工作的?是的,getter和setter是使用@synthesis创建的。或者更好,使其复制
。尝试一下。self.rate=[@“香蕉”拷贝];不成功:/a也(复制,非原子),也不成功。或者更好的是,让它copy
。试一下。self.rate=[@“香蕉”拷贝];不成功:/a也是(复制,非原子),也不成功。@synthesis
是可选的,从Xcode 4.4开始。在早期版本中,这将是一个编译错误。我只是尝试(复制,非原子)。没有成功。这很奇怪:\n我可以访问几个属性。但不是这个。在这种情况下,self是我当前的ViewController。@synthesis
是可选的,从Xcode 4.4开始。在早期版本中,这将是一个编译错误。我只是尝试(复制,非原子)。没有成功。这很奇怪:\n我可以访问几个属性。但不是这个。赛尔夫是我现在的视图控制器。很好!跟踪这样的错误总是很费时的。太好了!跟踪这样的错误总是很耗时的。