NSString总是返回零

NSString总是返回零

问题描述:

有人可以帮我弄清楚我可能会错过什么吗?NSString总是返回零

我得到这个错误,看起来像超简单的东西,但我不知道它来自哪里!有几个关于它的帖子。但似乎没有关系。我做的是,

设置属性,

@property (weak, nonatomic) NSString * rate; 

,并在我viewDidLoad中,

self.rate = @"bananas"; 
NSLog(@"self.rate %@",self.rate); 

我不断收到在控制台 - > self.rate(空)

任何帮助最受赞赏 谢谢!

Nuno

p.s.我也尝试设置一个字符串指针,并试图分配] init](但我真的没有看到任何理由,因为这是问题,它不是)...迄今为止没有成功。

此外,物业@synthesized

+1

为什么'weak'?你有没有尝试设置它'strong'呢? – Tim 2012-08-14 21:21:56

+0

是的,我没有。没有用:\ – nmdias 2012-08-14 21:25:38

+0

也许自己变成了零?有一个想法:-S – epatel 2012-08-14 21:26:03

像@Guven说,我真的同时设定一个setter,因为我是用@synthesize时,我不应该。

我不知道我有一个“旧”的方法setRate代码周围铺设。

谢谢大家!

+0

不错!追踪这样的错误总是非常耗时。 – Guven 2012-08-14 21:53:04

让你的属性强大的性能

+3

甚至更​​好,使它'复制'。 – Stream 2012-08-14 21:22:53

+0

刚刚尝试过。 self.rate = [@“bananas”copy];没有成功:/ – nmdias 2012-08-14 21:27:39

+0

另外(复制,非原子),也没有成功。 – nmdias 2012-08-14 21:35:08

可能的解决方案:

1.(只要没有其他具有很强的指向它的指针)

@property (strong, nonatomic) NSString * rate ;  //or use (copy, nonatomic), depends.. 

* 2.你忘了

@synthesize rate = _rate; 

3.自为零

编辑:

4.setter /吸气车

×修正为2,由于抢在下面的评论中指出:

“从Xcode 4.4开始,@synthesize是可选的。而在早期版本中,这将是一个编译错误”

+1

从@ Xcode 4.4开始,'@ synthesize'是可选的。在早期版本中,这将是一个编译错误。 – Rob 2012-08-14 21:32:09

+0

我刚刚试过,(复制,非原子)。没有成功。这很奇怪:\我可以访问多个属性。但不是这个。在这种情况下,self是我当前的ViewController。 – nmdias 2012-08-14 21:34:09