0

私はこの言語にまったく慣れていません。この些細な質問を許してください。

私は次のコードを提供するtutに従っていました:

エラーコードのスクリーンショット

スクリーンショットを見ると、私が直面している問題がわかると思いますか?

4

4 に答える 4

3

上記のコードは問題なく動作します。return ステートメントを括弧で囲んでも問題はありません。まったく同じコードを実行したところ、正常に機能し、期待どおりの結果が得られました。

NSString *boolString(BOOL yesNo) {
    if (yesNo == YES) {
        return (@"YES");
    } else {
        return (@"NO");
    }
}

プロジェクトをクリーンアップしてみてください (⇧</kbd>+⌘</kbd>+K) and build it again and see if that works. If it doesn't, open the Organizer from Xcode (⇧</kbd>+⌘</kbd>+2) and delete the "Derived data" for your project and try to build it again.


また、Objective-C を学習しようとしている場合は、C 関数の代わりに Objective-C メソッドの使用を検討してください。(次のコードを次のように呼び出します: [self boolString:YES];)

- (NSString *)boolString:(BOOL)yesNo {
    if (yesNo == YES) {
        return (@"YES");
    } else {
        return (@"NO");
    }
}
于 2012-05-12T07:38:13.037 に答える
2

これは問題とは何の関係もないことが判明しましたが、Objective-C のインスタンス メソッド定義の構文を理解することは依然として役に立ちます。

- (NSString*) boolString: (BOOL yesno) {
    // code
    return @"objective-C string";
}
于 2012-05-12T07:14:08.943 に答える
1

returnステートメントを変更し、-を使用してください

return @"YES";

return @"NO";
于 2012-05-12T07:13:14.273 に答える
0

コードに問題はありません。魔法のように私はHANDでコードを書き直しました。エラーなしで動作します。複数のPDFページからコードをコピーすると、コードに隠された文字が含まれる可能性があると思います。

于 2012-05-12T07:49:51.847 に答える