iOSアプリのunrecognized selector sent to instanceエラーについて
iOSアプリのunrecognized selector sent to instance
エラーについて
はじめに
ダイアログを表示する画面を作成していた時にunrecognized selector sent to instance
のエラーが起こり四苦八苦したのでメモとして残します。
TL;DR
結局StoryBoardに設定するCustom Class
のクラスが違うクラスを指定していたことが原因というオチ。。。
経緯
こんな感じでViewControllerを呼び出してダイアログ表示をしようとしていたが、タイトルのエラーが起こりうまく行かなかった。クラスが原因かと思い色々見直したがアクセスはできるし、原因が謎だった(そもそも筆者がObjective-C、iOS開発あまり知らない人でてんやわんや)
// 指定のViewControllerインスタンスを作成、その際に
HogeDialogViewController *vc = [
[UIStoryboard storyboardWithName:@"HogeDialogViewController" bundle:nil]
instantiateViewControllerWithIdentifier:@"HogeDialogViewController"];
// Dictionary型を作成し、Entityを作成する
NSDictionary *responseObject = [NSDictionary dictionaryWithObjectsAndKeys:
@"id", @1111,
nil];
HogeData *hogeData = [[HogeData alloc] initWithDictionary:responseObject];
vc.hogeData = hogeData;
// Dialog表示
[vc show];
StoryBoardを見直す
コードは問題ないと考え、StoryBoardを見直したところ、Custom Class
のクラス名が違うクラスを指定していたからViewControllerにインスタンスをセットできないよと怒られていたようです。
所感
よくよく考えてみたら存在しないStoryBoardを指定してそのインスタンスの存在しないフィールドにアクセスしようとしてたんだから、そりゃ怒られるよねっていう話。iOS開発大変だなぁと思った。ていうかObjective-cじゃなくてSwift触りてえ。
参考情報
Author And Source
この問題について(iOSアプリのunrecognized selector sent to instanceエラーについて), 我々は、より多くの情報をここで見つけました https://qiita.com/yoshiki-0428/items/80ea88f65f5a62ffcc11著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .