在plist中计算数组,用数组项创建标题按钮?

时间:2011-12-23 10:27:17

标签: objective-c uitableview plist

首先,我需要计算数组中的项目。

<dict>
    <key>New item</key>
    <array>
        <string>apple</string>
        <string>orange</string>
    </array>
</dict>

第二步,将项目加载到tableview.example,将表格单元格1加载到apple,将表格单元格2加载到橙色 第三,通过数组中的计数项在表格单元格中创建按钮 第四步,按项目值设置按钮标题。例如,按钮“apple”和按钮“orange”。

我应该从哪里开始?

1 个答案:

答案 0 :(得分:2)

首先创建一个将成为UITableView数据源的保留属性。

<。>文件中的

@property (strong, nonatomic) NSArray *dataSource; //use retain instead of strong if not using ARC

接下来,将数组从字典中提取到数据源中

self.dataSource = [dict objectForKey:@"New item"]; //only if it's guaranteed that the dictionary contains that array

接下来用两种方法实现表视图的数据源协议:

- (NSInteger)tableViewNumberOfRowsInSection:(UITableView *)tableView {
  return dataSource.count; // create cells by count of array
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath)indexPath {
  static NSString *reuseIdentifier = @"fruit";
  UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:identifier];
  if (!cell) {
    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:reuseIdentifier]; // add autorelease if not using ARC
    //add your UIButton here, give it tag
    UIButton *button = ...;//alloc the button and give it proper frame and add it as cell's subview
    [cell.contentView addSubview:button];
    button.tag = 5;
  }
  //extract the button and give it title
  UIButton *button = (UIButton *)[cell viewWithTag:5];
  button.title = [dataSource objectAtIndex:indexPath.row];
  return cell;
}

所以你必须了解授权和协议。有关详细信息,请阅读UITableView programming guide