将数组传递到导航类型应用程序中的父视图控制器

时间:2011-05-30 00:57:55

标签: objective-c cocoa-touch ios uiviewcontroller

我需要将一个数组传递给我的父视图控制器,我不知道该怎么做。我唯一的选择是使用代表吗?我的应用程序崩溃了:

[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

1 个答案:

答案 0 :(得分:1)

你的答案在你的问题中:)。

[UINavigationController setrecipientItems:]: unrecognized selector sent to instance 0x8a10ab0

使用UINavigationController层次结构时,父视图控制器是UINavigationController,而不是以前的视图控制器。

如果你想进入那个视图控制器,可以通过调用[self.parentViewController viewControllers]向UINavigationController询问它的视图控制器列表,然后你可以使用isKindOfClass:循环遍历那个NSArray,以确定哪一个是你的

NSNotification也适用于这种情况,或者如你所知,代表。