ある Table View Controller から前の Table View Controller にデータを戻そうとしています。これを達成するために私が書いたコードは次のとおりです: NPViewController.h (データを返す 2 番目のビュー):
@class NPViewController;
@protocol NPViewControllerDelegate <NSObject>
-(void) passItemBack: (NPViewController *) controller didFinishWithItem: (NSString *) string;
@end
@interface NPViewController : UITableViewController <UITextFieldDelegate>
@property (weak, nonatomic) id<NPViewControllerDelegate> delagate;
- (IBAction)createNewProject:(id)sender; //a bar button item that sends data on click
@end
NPViewController.m:
//barButton item IBAction
- (IBAction)createNewProject:(id)sender {
[self.delagate passItemBack:self didFinishWithItem:@"Test"];
[self dismissViewControllerAnimated:YES completion:nil];
}
InternalTabViewController.h //データを受け取る最初のビュー
#import <UIKit/UIKit.h>
#import "NPViewController.h"
@interface InternalTabViewController : UITableViewController <NPViewControllerDelegate>
@property (weak, nonatomic) NSString * projectName;
@property (weak, nonatomic) NSString * projectWorth;
@end
InternalTabViewController.m
@synthesize projectName, projectWorth;
//in ViewDidLoad
NPViewController *NPVC = [self.storyboard instantiateViewControllerWithIdentifier:@"NPViewController"];
NPVC.delagate = self;
//implementation of protocol function
-(void)passItemBack:(NPViewController *)controller didFinishWithItem:(NSString *)string
{
self.projectName = string;
}
プログラムは最初のビュー コントローラー (これら 2 つとは関係ありません) を通過できず、次のエラーがスローされます。
キャッチされない例外 'NSUnknownKeyException' が原因でアプリを終了しています。理由: '[ setValue:forUndefinedKey:]: このクラスは、キー createNewProject のキー値コーディングに準拠していません。
ある画面から別の画面に 2 つの文字列を戻そうとしています。これを解決するにはどうすればよいですか?