如何在Objective C中的Custom TableView UILabel上设置数据模型值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Objective C中的Custom TableView UILabel上设置数据模型值相关的知识,希望对你有一定的参考价值。

我是ios的新手,我在UIlabel上设置数据模型时遇到了问题

我用这个代码来改变

在ConnectiondidFinishLoading中

 AuditTextBoxarray=[[NSMutableArray alloc] init];
            for(int i=0;i<idarray.count;i++)
            {
                DataModel *model = [DataModel new];
                model.AuditTextBoxString = @"";
                [AuditTextBoxarray addObject:model];
            }

在cellforrowatindexpath

 cell.lblAuditTextBox.text=[NSString stringWithFormat:@"%@",[AuditTextBoxarray objectAtIndex:indexPath.row ]];

按钮单击

   NSString *String=textView1.text;
   DataModel *model = [AuditTextBoxarray objectAtIndex:index];
   model.AuditTextBoxString = String;

但是我无法在tableview中设置数据模型的值:

enter image description here

如何将数据模型值设置为uilabel?我做错了什么,但我没有得到。

DataModel.h

@interface DataModel : NSObject
@property(nonatomic, strong)NSString *strSelected;
@property(nonatomic,strong)NSString *TextViewvalue;
@property(nonatomic,strong)NSString *RateViewValue;
@property(nonatomic,strong)NSString *Popupvalue;
@property(nonatomic,strong)NSString *SurveySelected;
@property(nonatomic,strong)NSString *AuditTextBoxString;

DataModule.m

#import "DataModel.h"

@implementation DataModel

@end

我使用DataModule更改Button颜色并将其设置在表格视图上

在ConnectionDidFinishLoading中

    for (int i =0; i<idarray.count; i++)
    {
        DataModel *model = [DataModel new];
        model.strSelected = @"";
        [arrData addObject:model];

    }

按钮单击

sender.backgroundColor = [UIColor redColor];
DataModel *model = [arrData objectAtIndex:sender.tag];
model.strSelected = @"P";

的cellForRowAtIndexPath

 //background color change on button
    DataModel *model = [arrData objectAtIndex:indexPath.row];
    if([model.strSelected isEqualToString:@"P"])
    {
        cell.passbtn.backgroundColor = [UIColor redColor];
    }

现在我试图在数据模型上添加uilabel上的文本。

答案

我只是改变了代码

cell.lblAuditTextBox.text=[NSString stringWithFormat:@"%@",[AuditTextBoxarray objectAtIndex:indexPath.row ]];

DataModel *model = [AuditTextBoxarray objectAtIndex:indexPath.row];
cell.lblAuditTextBox.text=model.AuditTextBoxString
另一答案

在ConnectiondidFinishLoading或On Button Click中更新数据模型后,在主线程上重新加载tableview(如果您在一个单独的线程中)以刷新View上的数据。就像是

dispatch_async(dispatch_get_main_queue(), ^{
    [self.tableview reloadData];
});

以上是关于如何在Objective C中的Custom TableView UILabel上设置数据模型值的主要内容,如果未能解决你的问题,请参考以下文章

Objective C - 自定义@synthesize?

如何在 Objective C 中的 UIScrollView 中禁用动画滚动?

如何在Objective C中的didFinishLoading中获取IndexPath.row

objective-c 中如何在一个函数中调用自己类中的另外一个函数

如何获取嵌套在 UIView 中的 UIView 框架 - Objective C

如何在 Objective C 中的 Xcode 8 中设置约束