我必须遗漏一些基本的东西。当我使用[NSString stringWithFormat]
设置显示在 UITableViewCell 中的对象的属性时,它显示为空。如果我只是正常设置属性,即property = @"Item One"
,它显示正常。代码和结果如下。
使用此:
结果:
但日志显示:
这表示该属性已设置。请有人带我到这里上学。
修改 维持不足是个问题。
我的道具看起来像这样:@property (weak, nonatomic) NSString *name
将其更改为:@property (strong, nonatomic) NSString *name
修正了问题。我明白这意味着我保留了对这个属性的强烈引用,但在这个特殊情况下,是否有一个“我刚毕业的大学并自学Obj-C”解释内存中发生的事情导致这个问题?
答案 0 :(得分:1)
我的第一个想法,因为一个常量字符串起作用,就是你保留了name属性,尽管如果这是真的我很惊讶你没有崩溃。
修改强>
看到你的代码后,问题出在这里。只要该值在其他位置保持活动状态,weak
属性仅保留值。常量字符串永远存在,因此在此处指定常量字符串。但是如果你分配一个计算值,那么没有东西拥有它,因此什么都没有让它保持活力,因此你的弱属性将以nil
结束。
答案 1 :(得分:0)
我假设您要将name
分配给UILabel的text
属性。
标签是:
sizeToFit
将解决此问题)最难解决的问题是如果它是零。你没有告诉我们细胞的来源,但这里有一些可能性。
init
方法对其进行实例化。如果要实例化它,请确保调用特定的init变体。