如何从另一个对象设置UItextlabel文本

时间:2011-09-12 05:15:20

标签: iphone ios uitableview uitextfield nsobject

我在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?

3 个答案:

答案 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)。