この質問が初歩的なものでしたら申し訳ありませんが、私は過去 2 日間このバグで立ち往生しており、それを乗り越えることができませんでした。Xcode 4.3.2 を使用しています
BController.m という名前のファイルの「- (void) プロセス」というメソッドで、AController.xib という名前の nib をロードしようとしています。
明確にするために、./A/AController.xib (UIView)、./A/AController.m、./A/AController.h をディレクトリ ./B にコピーしました。
私の質問にとって重要かどうかわからないので、これについてのみ言及します。
現在、私のフローはフローとして機能します(これは私の問題である可能性があります):
- ビューに「購入」ボタンが表示される
- ユーザーは、「buyNow」という名前のIBOutletを持つ「購入」ボタンをクリックします
- 「buyNow」は「buy」を呼び出し、次に「process」を呼び出します
次に、プロセスは次の方法で nib をロードしようとします (オプション 1):
AController *何とか; for (id object in bundle){ if ([object isKindOfClass:[AController クラス]]) blah = (AController *) object; } assert(何とか != nil && "何とかゼロにすることはできません"); [self.view addSubView: 何とか];
ここで得られるエラーは、main.m の「Thread 1: signal SIGABRT」です。私も試しました (オプション 2)。
AController *myView = [[AController alloc] initWithFrame:self.view.bounds];
[self.view addSubview:myView];
[AController release];
そして (オプション 3)
AController * vc = [[AController alloc] initWithNibBundle:@"AController" bundle:nil]; [self.nc pushViewController:vc animated:NO];
3 つの選択肢すべてで同じエラーが発生します。各オプションは、メソッド「プロセス」で試行されました。「プロセス」は Bm で書かれています。これを理解できるように、誰か助けてもらえますか? これらのオプションが失敗した理由に関するガイダンスは、私の理解に非常に役立ち、非常に高く評価されます。初心者を助けてくれてありがとう!