在我的项目中,我使用UILabel和NSArray,我以NSString的形式从数组传递参数,我已经使用断点检查了方法的调用,正确传递参数的参数但在尝试使用收到的参数时(在NSString中),但UILabel显示NULL值。这是代码:
- (void)updateMenuLabel:(NSString *)passedObject {
NSString *str=[NSString stringWithFormat:@"%@", passedObject];
lbl_selectitem.text=str;
}
答案 0 :(得分:0)
可能由于以下几点而发生:如果这是一个属性,则它尚未从xib / nib文件或故事板正确链接。如果这是以编程方式创建的,那么在为此对象分配内存时是否已检查过它?很明显,对象是零,但你必须注意到过程中的位置。
在viewDidLoad
或viewDidAppear
(例如)中设置一个断点,以查看该对象是否仍为零并从那里开始。
答案 1 :(得分:0)
您需要检查passObject字符串值。打印nslog相同的值。正如rckoenes所说它是零。
答案 2 :(得分:0)
如果在接口中获得NULL,则表示字符串为nil。 如果您看不到任何更改,则表示字符串为空(@“”)或lbl_selectitem为nil。也许没有连接到xib中的对象。
在第一行添加断点。然后转到lldb控制台并输入:
po lbl_selectitem
po passedObject
将打印存储在属性中的值,您可能会发现错误。
答案 3 :(得分:0)
两件事,