0

ここでまず文脈を説明します。Xcode 4.6 を使用して iOS 6.1 アプリケーションを開発しています。4 つのビューを接続したテーブル ビュー コントローラーを作成しました。最初のビューは、main私が取り組んでいるビューです。

現在、mainビューに 2 つのボタンがあります。とボタンyes。サブクラスをno作成し、ID インスペクターでそのクラスを変更してビューに接続しました。viewcontroller_mainmain

myclassという1 つの関数を持つ独自のクラスを作成しましたgo。私ははいのためにと別のviewcontroller_main.hものを追加しました。-(IBAction)button_no次に、ビューをクリックしmain、接続インスペクターを介して関数をボタンに接続することで、それらをリンクしました。

ここに私の問題があります。私のyesボタンは現在、NSLog ieを介して「はい」をコンソールに記録するだけです

//viewcontroller_main.m

- (IBAction)button_yes {
    NSLog(@"Yes was pressed");
}

ただし、私のnoボタンはオブジェクトmyclass* mynameを作成してから作成しますmyname.go。ファイルのメソッド実装でNSLog「いいえ」を表示する別の機能があります。gomyclass.m

//viewcontroller_main.m

- (IBAction)button_no {
    myclass* myname;
    myname.go;
}

//myclass.m

- (void)go {
    NSLog(@"no was pressed")
}

この振る舞いをどう説明しますか?を呼び出したときにコンソール ログが表示されないのはなぜmyname.goですか?

4

1 に答える 1

1

まず、クラスは常に大文字にする必要があります。したがって、 and を使用する必要がViewController_mainありMyclassます。

第二に、そうするときmyclass* myname;、オブジェクトを作成していません。myname( ) を出力NSLog(@"%@", myname)すると、nil であることがわかります。そうは言っても、次のようなことを試してください:

myclass* myname = [[myclass alloc] init];
于 2013-10-26T00:59:17.390 に答える