segue中的目标视图会给出属性错误

时间:2014-12-05 15:25:51

标签: ios objective-c xcode6 segue

我正在尝试将自定义对象传递给新视图的属性,尽管它会出错,因为它无法找到" setter"为了财产。

当我在表格中选择一行时,会调用此方法:

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    self.actionIndexPath = indexPath;
    [self performSegueWithIdentifier:SELECTED_PERSON sender:self];
}

下一步:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    if ([segue.identifier isEqualToString:CREATE_EDIT_PERSON]) {
        PersonDebtViewController *editPerson = [segue destinationViewController];
        editPerson.editPerson = self.oweMePeople[self.actionIndexPath.row];
    }
    else if ([segue.identifier isEqualToString:SELECTED_PERSON]) {
        EmailViewController *emailPerson = [segue destinationViewController];
        emailPerson.selectedPerson = self.oweMePeople[self.actionIndexPath.row];
    }

    self.actionIndexPath = nil;
}

这是在emailPerson.selectedPerson = ...它出错了。

我已在目标视图中声明了该属性:

#import <UIKit/UIKit.h>
#import <MessageUI/MessageUI.h>
#import "Person.h"

@interface EmailViewController : UIViewController <MFMailComposeViewControllerDelegate>

@property (nonatomic) Person *selectedPerson;

@end

我错过了什么?

1 个答案:

答案 0 :(得分:1)

您可能忘记将视图控制器设置为Storyboard中的EmailViewController。您的错误告诉您:

[UIViewController setSelectedPerson:]

尝试将邮件setSelectedPerson:发送到UIViewController

的实例