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

Posted

技术标签:

【中文标题】如何从另一个对象设置 UItextlabel 文本【英文标题】:how to set UItextlabel text from another object 【发布时间】:2011-09-12 05:15:19 【问题描述】:

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

【问题讨论】:

发布更多代码....这个manufacturerString是做什么的?什么东西被分配了标签 1 和 2? 标签 1 和标签 2 定义了哪个 UIlabel 是哪个。当您创建带有标签的自定义 tableviewcell 时,您可以在 interface-builder 中设置标签值,这只是引用,因此这些值将传递给正确的 UILabel。制造字符串只是我传递给 NSObject 以供以后在父视图中使用的字符串。基本上这里的总体目标是让一个对象挖出一堆值,我将使用这些值来搜索大型数据库。 【参考方案1】:

如果更改label1 的文本有效,那么我会查看您尝试访问的标签是否确实是标签2,如果为真,如果manufacturerString 确实返回任何内容.

【讨论】:

【参考方案2】:

每次调用该方法时都初始化vehicleSearchObject。我希望manufacturerString 不是nil。此外,UILabel 可能没有内存,如果您不分配任何内存。尝试将其设为@property。您可以在调试器控制台中检查它是否有内存。

编辑:在你的接口或.h文件中声明UILabel * label1并写@property(nonatomic,retain) UILabel * label1;,在你的实现或.m文件中写@synthesize label1;。在UIView 初始化方法中分配/初始化标签,如viewDidLoad: 等。这会将内存分配给label1,范围涵盖所有函数。现在,不要再写UILabel *label1;。只需根据您的要求继续设置文本即可。 label2 也是如此。

【讨论】:

是的,我认为我的初始化会导致问题,但我不确定我还能如何处理这个问题.. 它需要保存几个值,每个值都分别初始化..【参考方案3】:

您可能想尝试 [UILabel setText:(NSString)] 而不是 UILabel.text = (String)。

【讨论】:

label.text=str;[label setText:string]; 相同,另外,需要在UILabel实例 上调用,而不是在UILabel 类上调用。跨度>

以上是关于如何从另一个对象设置 UItextlabel 文本的主要内容,如果未能解决你的问题,请参考以下文章

如何在 xib 中访问 UITextLabel?

如何从另一个输入文本字段Javascript中输入的值将值设置为输入隐藏字段

如何从另一个类访问 Winform 文本框控件?

ios Autolayout - 在图像上对齐文本

如何从另一个表单刷新文本框? C#

如何从另一个布局中获取按钮的文本值?