0

私はプログラミングが初めてで、ここで何をしたかわかりませんが、新しい VC クラスをセットアップしていて、新しいプロジェクトの構築時にストーリーボードに自動的にセットアップされる標準 VC を誤って置き換えました。時間

    #import <UIKit/UIKit.h>

    @interface ViewController : UIViewController

    @end

ここに.mがあります

#import "ViewController.h"
@interface ViewController ()
@end

@implementation ViewController

- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}

- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}

@end

この VC には、次の画面に進むボタンが 1 つしかありませんが、このエラーで起動するとすぐにクラッシュします。

Terminating app due to uncaught exception 'NSUnknownKeyException',
reason: '[<ViewController 0x7575ee0> setValue:forUndefinedKey:]:
this class is not key value coding-compliant for the key go.'

とにかく、最初からやり直さずにこれを機能させることができますか? 今では大規模なプログラムです。

4

2 に答える 2

1

このエラーは主IBOutletに、への接続を誤って/誤って削除/忘れた場合に生成されFile's Ownerます。

また

ビュー コントローラーのプロパティまたはメソッドにXIBリンクされているファイル内で、プロパティまたはメソッドを削除または名前変更した場合、名前が変更されているため、ランタイムはそれを見つけることができず、クラッシュします。IBOutletIBAction

IBOutletAnd メソッドの参照が存在しないことを確認しIBActionてください。XIB

于 2013-03-26T12:23:39.550 に答える
0

OK、問題は、「go」というインターフェイス ビルダーのアウトレットを接続してから、ストーリーボードのビュー コントローラー クラスを変更したことのようです。

これは、IB にはまだ「go」への参照があることを意味しますが、現在のビューコントローラーはそれを認識していません。

2 つの解決策 (達成したい内容に応じて)

解決策 1

-を使用したい場合はViewController、IB に移動しClass、viewcontroller を変更します。そのようです:

(あなたの場合、クラスは「ViewController」でなければなりません)

カスタム ビュー コントローラー クラス

解決策 2

ストーリーボードでビューコントローラーを選択し、アウトレット接続を削除します。

于 2013-03-26T12:24:56.873 に答える