我正在开发一个应用程序,我决定将三个20 + TTTableViewControllers用于类似设置的页面。
所以我有我的ViewController:
@interface MyViewController : TTTableViewController
这使我的数据源正常化:
-(void) createModel {
self.dataSource = [[[MyDataSource alloc] init] autorelease];
}
我的数据源然后初始化不同类型的控件(大约三个标准,一些自定义类),例如
UISwitch* switchy = [[[UISwitch alloc] init] autorelease];
TTTableControlItem* switchItem = [TTTableControlItem itemWithCaption:@"UISwitch" control:switchy];
self.dataSource = [TTListDataSource dataSourceWithObjects:switchItem,...,...,nil]
现在有一些事情我不清楚..
1-如何从viewcontroller访问数据? (即:读取开关的值)..现在我使用类似
的东西bool ron = ((SwitchTableItemCell *)[self.tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:1 inSection:0]]).switchField.isOn;
那个看起来很可怕。
2-如何将viewcontroller设置为项目的委托(即:我希望将MyViewController作为所有文本字段的委托)
3-添加/删除字段的最佳方法是什么。现在我只是从头开始重新分配数据源但又看起来有点丑陋
谢谢!
答案 0 :(得分:1)
1-如何从viewcontroller访问数据? (即:读取开关的值)..现在我使用类似
的东西
您应该直接访问数据源:
self.dataSource.items
这是NSMutableArray
。
2-如何将viewcontroller设置为项目的委托(即:我希望将MyViewController作为所有文本字段的委托)
这取决于你想做什么。我在代码中看到的唯一项目是UISwitch
,其中没有delegate
;但如果该项目有一个,我会这样做:
MYItem* switchy = [[[UISwitch alloc] init] autorelease];
switchy.delegate = self;
3-添加/删除字段的最佳方法是什么。现在我只是从头开始重新分配数据源但又看起来有点丑陋
由于self.dataSource.items
是NSMutableArray,您可以从removeObjectAtIndex:
删除项目并通过addObject:添加。
答案 1 :(得分:0)
对于三个20的TTableviewcontroller的基本设置,
使用此链接http://www.raywenderlich.com/656/introduction-to-three20