いくつかのチュートリアルを行った後、最初の iOS アプリを作成しようとしています。私は、ニューオーリンズ・セインツの見出しとストーリーを json として ESPN API から取得し、見出しをテーブル ビューに表示し、ユーザーが見出しをタップするとストーリーのテキストを詳細ビューに表示する単純な見出し/ニュース リーダーを作成しています。 .
アプリは、エラーや警告なしでコンパイルおよび実行されます。prepareForSegue メソッドは、ユーザーが上部のテーブルビューで見出しをタップすると実行されます。デバッガーでこのコードをステップ実行できます。prepareForSegue メソッドをステップ実行すると、detailViewController の setStory メソッドが呼び出され、次に configureview メソッドが呼び出されます。しかし、その後 main.m に移動し、詳細ビューを表示せずにアプリを閉じます。
私は初心者です。私は何が欠けていますか?詳細ビューが表示されないのはなぜですか? IBOutlet をロードするために IBAction が必要なのでしょうか?
saintsMasterViewController.m
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"showDetail"]) {
saintsDetailViewController *detailViewController = [segue destinationViewController];
saintsNewsStory* displayThisStory =[self.dataController objectInListAtIndex:[self.tableView indexPathForSelectedRow].row];
[detailViewController setStory:displayThisStory];
}
}
saintsDetailViewController.m
- (void)setStory:(saintsNewsStory *)newStory
{
// if (_story != newStory) {
_story = newStory;
// Update the view.
// [self configureView];
// }
}
- (void)configureView
{
self.storyText.text = self.story.storyText;
}
- (void)viewDidLoad //the app never gets here. if i put a breakpoint here it never gets here
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
[self configureView];
}
saintsDetailViewController.h
@class saintsNewsStory;
@interface saintsDetailViewController : UIViewController
@property (weak, nonatomic) IBOutlet UITextView *storyText;
@property (retain, nonatomic) saintsNewsStory *story;
@end
コンソールに次のエラーが表示されます。
SaintsHeadlineReader[9608:11303] * キャッチされない例外 'NSUnknownKeyException' が原因でアプリを終了します。理由: '[ setValue:forUndefinedKey:]: このクラスはキーの値のコーディングに準拠していません。* First throw call stack: (0x1c90012 0x10cde7e 0x1d18fb1 0xb7a711 0xafbec8 0xafb9b7 0xb26428 0x2320cc 0x10e1663 0x1c8b45a 0x230bcf 0xf5e37 0xf6418 0xf6648 0xf6882 0x102235 0x3013d2 0xff4f3 0xff777 0xff7b7 0x46afe2 0x45cad9 0x45cb54 0xc4899 0xc4b3d 0xacbe83 0x1c4f376 0x1c4ee06 0x1c36a82 0x1c35f44 0x1c35e1b 0x1bea7e3 0x1bea668 0x1565c 0x204d 0x1f75 0x1) libc++abi. dylib: 例外をスローして呼び出された終了
textview には詳細ラベルがあるようですが、そのためのアウトレットが必要だったのでしょうか。