我在NSobject中设置一个NSString,我想在另一个视图中将值传递给uitableviewcell UIlable?我正在试着设置正确的代码是什么,因为我觉得我做的是正确的,但它只是没有改变标签中的文字..
//inside tableview/forRowAtIndexPath
//load VehicleSearchObjects
VehicleSearchObject *vehicleSearchObject = [[VehicleSearchObject alloc] init];
if(indexPath.section == 0)
{
if(indexPath.row == 0)
{
UILabel *label1;
label1 = (UILabel *)[cell viewWithTag:1];
label1.text = @"Manufacture";
UILabel *label2;
label2 = (UILabel *)[cell viewWithTag:2];
label2.text = [vehicleSearchObject manufacturerString]; //this is where I try to set the text... but nothing is happening, am I doing it right or should I be doing something else?
答案 0 :(得分:0)
如果更改label1
的文字有效,那么我会查看您尝试访问的标签是否确实是标记2
,如果是,则{{1}确实是在回归任何东西。
答案 1 :(得分:0)
每次调用方法时都会初始化vehicleSearchObject
。我希望manufacturerString
不是nil
。此外,如果您不分配任何内容,UILabel
可能没有内存。尝试将其设为@property
。您可以在调试器控制台中检查它是否有内存。
编辑:在您的界面中声明UILabel * label1
并写@property(nonatomic,retain) UILabel * label1;
或在您的实施或.h
文件中@synthesize label1;
文件和.m
。 Alloc / init UIView
初始化方法中的标签,如viewDidLoad:
等。这会将内存分配给所有函数的范围label1
。现在,不要再写UILabel *label1;
了。只需根据您的要求设置文本。同样适用于label2
。
答案 2 :(得分:-1)
您可能想尝试[UILabel setText:(NSString)]而不是UILabel.text =(String)。