我想维护一个记录列表,对于每条记录,我都维护相同类型的数据。我想在两个不同的地方使用这些数据:
-
UITableView
从每条记录中获取“名称”值
-
UIViewController
这需要所有数据在不同领域使用。
我认为我应该使用 plist 来存储数据;我还假设应该接收数据的对象UITableView
is NSArray
所以我可以使用cellForRowAtIndexPath
方法自动创建表。
So i created the plist "PLForArr.plist":
看来我只能在使用调用 plist 时获得 NSDictionary
NSString *path = [[NSBundle mainBundle] pathForResource:@"PLForArr" ofType:@"plist"];
NSArray * myArr = [[NSArray alloc] initWithContentsOfFile:path]; //doesn't work...
NSDictionary * myDict = [[NSDictionary alloc] initWithContentsOfFile:path]; //does work, but who to I make a NSArray out of it / or get the data from here to the UITableView?
我知道我不明白这里的一些基本内容...有人可以带我一步一步:
-
如何保存数据- 我应该使用 plist 还是其他东西?我应该有一个数组类型的主记录(就像我在此处的示例 plist 中所做的那样)还是可以将其保留为这些字典而无需不必要的
MyArr
我使用的考虑UITableView
最终目标?
-
如何调用数据- 有没有办法让它进入
NSArray
或者它必须进入NSDictionary
?
-
如何将其调用到UITableView中- 我可以使用 a 来填写这些行吗
NSDictionary
?
将数据存储为数组或字典取决于您。但是,如果您想随着时间的推移对其进行更改,则无法将其存储在主包中。
您的 pList 文件是包含数组的字典。请参阅下面的代码示例。
您必须将字典存储在表的数据源的数组中。请参阅下面的代码示例。
假设你的UITableView的数据源叫做tableArray。您可以使用 tableArray 来填充表和视图中的信息。哦耶,
NSString *path = [[NSBundle mainBundle] pathForResource:@"PLForArr" ofType:@"plist"];
NSDictionary *myDict = [[NSDictionary alloc] initWithContentsOfFile:path];
NSArray *myArray = [myDict objectForKey:@"MyArray"];
self.tableArray = [myArray copy];
[myArray release];
[myDict release];
这在 tableView 中:cellForRowAtIndexPath:
cell.text = [[tableArray objectAtIndex:row]objectForKey:@"Obj Name"];
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)