我想创建一个简单的参考应用程序,列出一组人,他们的职位和他们的肖像。到目前为止,我所拥有的是人员名单和职称。它运作正常,但我认为我应该采用不同的方式。
从阅读其他帖子,我想我应该使用词典。这就是我的PList目前的样子:
这就是我的代码的重要部分:
@implementation RootViewController
@synthesize staffArray, subtitleArray;
- (void)viewDidLoad
{
[super viewDidLoad];
NSString* path = [[NSBundle mainBundle] pathForResource:@"StaffData" ofType:@"plist"];
NSDictionary *dict = [NSDictionary dictionaryWithContentsOfFile:path];
NSMutableArray *tmpNameArray = [dict objectForKey:@"Root"];
self.staffArray = [[NSMutableArray alloc] initWithArray:tmpNameArray copyItems:YES];
NSMutableArray* tmpSubtitleArray = [dict objectForKey:@"Subs"];
self.subtitleArray = [[NSMutableArray alloc] initWithArray:tmpSubtitleArray copyItems:YES];
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [staffArray count];
}
// Customize the appearance of table view cells.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease];
}
// Configure the cell.
cell.textLabel.text = [staffArray objectAtIndex:indexPath.row];
cell.detailTextLabel.text = [subtitleArray objectAtIndex:indexPath.row];
return cell;
}
我认为使用两种阵列会破坏OOP的目的,因为在这种情况下,人们与他们的职称无关;他们碰巧是在同一个顺序。我想创建例如:
数组名为Jonas,第一个值=作业标题,第二个值= pathToImage.png。
另一个名为Andreas等的数组等等。
我该怎么办?
答案 0 :(得分:0)
我认为,首先,您的设计缺少“员工”对象,其中包含“名称”,“JobTitle”等数据成员......完成此设置后,只需创建一组人员和从索引中拿出你需要的任何东西。