我需要将数组传递给我的父视图控制器,但我不确定该怎么做。我是使用委托的唯一选择吗?我的应用程序崩溃了:
[self.parentViewController setrecipientItems:remoteRecipientItems];
消息:
[UINavigationController setrecipientItems:]:无法识别的选择器已发送到实例0x8a10ab0
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
int newRow = [indexPath row];
int oldRow = (lastIndexPath !=nil)?[lastIndexPath row]:-1;
if (newRow != oldRow) {
UITableViewCell *newCell = [tableView cellForRowAtIndexPath:indexPath];
newCell.accessoryType = UITableViewCellAccessoryCheckmark;
UITableViewCell *oldCell = [tableView cellForRowAtIndexPath:lastIndexPath];
oldCell.accessoryType = UITableViewCellAccessoryNone;
// lastIndexPath = indexPath;
lastIndexPath = [indexPath retain];
}
[tableView deselectRowAtIndexPath:indexPath animated:YES];
// UIViewController may not respond to setrecipientItems: warning
[self.parentViewController setrecipientItems:remoteRecipientItems];
[[self.parentViewController.] ]
[self.navigationController popViewControllerAnimated:YES];
}
同样,我的父UIViewController设置如下:
#import <UIKit/UIKit.h>
@interface AddRecipientsTableViewController : UITableViewController {
NSMutableArray *recipientItems;
}
@property(nonatomic,retain)NSMutableArray *recipientItems;
@end
最佳答案
您的答案就在您的问题中:)。
[UINavigationController setrecipientItems:]: unrecognized selector sent to instance 0x8a10ab0
使用
UINavigationController
层次结构时,父视图控制器是UINavigationController,而不是您以前的视图控制器。如果要使用该视图控制器,请通过调用
[self.parentViewController viewControllers]
向UINavigationController询问其视图控制器列表,然后可以使用isKindOfClass:
在该NSArray中循环确定哪个是您的。在这种情况下,或者您建议的委托,
NSNotification
也可以工作。关于objective-c - 将数组传递给导航类型应用程序中的父 View Controller ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6171432/