我需要将一个数组传递给我的父视图控制器,我不知道该怎么做。我唯一的选择是使用代表吗?我的应用程序崩溃了:
[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
答案 0 :(得分:1)
你的答案在你的问题中:)。
[UINavigationController setrecipientItems:]: unrecognized selector sent to instance 0x8a10ab0
使用UINavigationController
层次结构时,父视图控制器是UINavigationController,而不是以前的视图控制器。
如果你想进入那个视图控制器,可以通过调用[self.parentViewController viewControllers]
向UINavigationController询问它的视图控制器列表,然后你可以使用isKindOfClass:
循环遍历那个NSArray,以确定哪一个是你的
NSNotification
也适用于这种情况,或者如你所知,代表。