使用plist填充表推送不同的视图控制器

时间:2009-11-10 23:12:05

标签: iphone

以下是我在viewcontroller中使用appdelegate中提供的plist信息的代码。

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
    return 1;
}


// Customize the number of rows in the table view.
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return [self.tableDataSource count];
}


- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    static NSString *CellIdentifier = @"Cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease];
    }


    NSDictionary *dictionary = [self.tableDataSource objectAtIndex:indexPath.row];
    cell.text = [dictionary objectForKey:@"myobject"];

这使用了appdelegate中使用的plist,并使用我的plist中有多少个入口来填充表格中的单元格。

我要做的下一件事是为每个填充了相应“密钥”的单元推送一个非动态viewcontoller。

因此,myobject单元格(选中时)会推送myobject视图控制器。     yourobject单元格(选中时)会推动yourobject视图控制器。

 All the way down.

我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

  1. 让您的主窗口包含一个UINavigationController,并将上面描述的表视图设置为根视图控制器。
  2. 让您的表视图包含辅助视图控制器的成员变量,该变量将成为该项目的“详细信息视图”。在某处初始化它(例如viewDidLoad)。
  3. 让您的详细信息视图包含要显示的信息的成员变量(即字典中的元素)。我们称之为myData。
  4. 在表视图中实现didSelectRowAtIndexPath以检测何时选择了行。在这里,您将根据所选行从字典中查找对象,在详细控制器上将其设置为myData,并在导航控制器上使用pushViewController将新视图推送到堆栈。
  5. 希望这有帮助!