我使用了具有动态原型单元格的表格视图。
我在表格视图中创建了一个样本行,其中包含四个数量值:
Title
Min Value
Max Value
Current value.
我已经创建了表视图控制器和表视图单元类,用于在我的代码中访问这些属性。
现在我必须动态设置值。我可以看到人们建议分别为每个值传递值数组。
像:
标题的数组1:将显示行中所有项目的标题 数组2为最小值等等.....
是否有一种方法可以将一组对象传递给表视图,并创建表。
请建议。
答案 0 :(得分:0)
不,您无法将数组直接传递给表。您的表视图控制器通常会维护该数组(通常是包含字典或自定义类实例的单个数组),并且表视图控制器中的代码使用该数组来配置单元格。
答案 1 :(得分:0)
我可以看到人们建议分别为每个值传递值数组。
不要这样做是非常差的方法,而是创建一个NSDictionnaries
的数组,例如:
_listOfValue =
@[
@{@"Title":@"title 1", @"Min Value":@"0", @"Max Value":@"100", @"Current value":@"50"},
@{@"Title":@"title 2", @"Min Value":@"4", @"Max Value":@"90", @"Current value":@"60"},
@{@"Title":@"title 3", @"Min Value":@"6", @"Max Value":@"70", @"Current value":@"70"}
];
这样可以轻松检索所需的数据,因为它们没有分开。
在numberOfRowsInSection
中,您可以返回[self.listOfValue count]
。
在cellForRowAtIndexPath
或didSelectRowAtIndexPath
中,您可以轻松地在IndexPath
处获取字典,然后解析每个键的值。
//Get the specific value
NSDictionnary *valueDict = _listOfValue[indexPath.row];
//read data from value dictionary
valueDict[@"Title"];
//or the old syntax
[valueDict objectForKey:@"Title"];