我正在尝试将自定义对象传递给新视图的属性,尽管它会出错,因为它无法找到" 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
我错过了什么?
答案 0 :(得分:1)
您可能忘记将视图控制器设置为Storyboard中的EmailViewController
。您的错误告诉您:
[UIViewController setSelectedPerson:]
尝试将邮件setSelectedPerson:
发送到UIViewController