Iphone 次级委托的问题
我有两个UITableView,在同一个UIViewController中,每一个都有一个不同的委托 我试图调用另一个委托中的控件,但失败了 简介:Iphone 次级委托的问题,iphone,sdk,delegates,Iphone,Sdk,Delegates,我有两个UITableView,在同一个UIViewController中,每一个都有一个不同的委托 我试图调用另一个委托中的控件,但失败了 简介: mainViewController包含UITableView(带有UITableViewDelegate和UITableViewDataSource)+UIImageView。 secondaryTable包含UITableView(带有UITableViewDelegate和UITableViewDataSource) 我想从secondary
mainViewController包含UITableView(带有UITableViewDelegate和UITableViewDataSource)+UIImageView。
secondaryTable包含UITableView(带有UITableViewDelegate和UITableViewDataSource) 我想从secondaryTable调用UIImageView In.h 它在控制台日志中键入“Selected”,但不会显示控件。
为什么它不能在mainViewController中调用navbar控件?我建议这样做,让两个表指向同一个委托,但在委托方法中,根据它是哪个表选择行为。例如:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
if (tableView == firstTable)
{
// Do appropriate things here
}
else if (tableView == secondTable)
{
// do things for table #2 here
}
else
{
assert(no); // error checking
}
}
我建议这样做,让两个表都指向同一个委托,但在委托方法中,选择基于哪个表的行为。例如:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
if (tableView == firstTable)
{
// Do appropriate things here
}
else if (tableView == secondTable)
{
// do things for table #2 here
}
else
{
assert(no); // error checking
}
}
我以前试过,没用。numberOfRowsInSection无法识别tableviewADD:我使用的是UIViewController而不是UITableViewController。如果您的UIViewController正确实现了
-(NSInteger)tableView:(UITableView*)tableView numberOfRowsInSection:(NSInteger)section
,则您将获得有问题的tableView。如果您遇到问题,几乎可以肯定这是代码中的错误,而不是SDK。这适用于1000个目前正在发布的应用程序--相信我!:)^^这是可行的,但如果我想在UIViewController中放置多个UITableView,我不知道为什么要实现它。这不是因为你在UIViewController中放置了多个TableView,而是因为你想让同一个对象成为多个TableView的数据源。如果多个tableView具有与其数据源相同的对象,则该对象必须根据请求它的表返回正确的数据。一个表可能有5行,另一个表可能有10行。其中一张可能写满了名字,另一张是照片。等等,我以前试过,但没用。numberOfRowsInSection无法识别tableviewADD:我使用的是UIViewController而不是UITableViewController。如果您的UIViewController正确实现了-(NSInteger)tableView:(UITableView*)tableView numberOfRowsInSection:(NSInteger)section
,则您将获得有问题的tableView。如果您遇到问题,几乎可以肯定这是代码中的错误,而不是SDK。这适用于1000个目前正在发布的应用程序--相信我!:)^^这是可行的,但如果我想在UIViewController中放置多个UITableView,我不知道为什么要实现它。这不是因为你在UIViewController中放置了多个TableView,而是因为你想让同一个对象成为多个TableView的数据源。如果多个tableView具有与其数据源相同的对象,则该对象必须根据请求它的表返回正确的数据。一个表可能有5行,另一个表可能有10行。其中一张可能写满了名字,另一张是照片。等
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
if (tableView == firstTable)
{
// Do appropriate things here
}
else if (tableView == secondTable)
{
// do things for table #2 here
}
else
{
assert(no); // error checking
}
}