2

iOS用のAppleのコアデータチュートリアルの1つに従おうとしていますが、このエラーを乗り越えることができません。

私はここですべての質問を読んでそれを解決しようとしましたが、どこにも行きません-

何か案は?

#import <UIKit/UIKit.h>

UINavigationController *navigationController;

@interface AppDelegate : UIResponder <UIApplicationDelegate>

@property (strong, nonatomic) UIWindow *window;
@property (nonatomic, retain) UINavigationController *navigationController;
 // expected identifier or '(' on the line above

@end
4

3 に答える 3

5

より良い解決策-ctrlをバインドするようにテキスト設定を変更します-実際の改行に戻ります。

スクリーンショット付きのブログ投稿を書きました。


@jlehrが言ったことですが、手順があります。

  1. 宣言する行の最後に移動しますnavigationController

  2. 打つctrl-a

カーソルが宣言している行の先頭に移動すると、その行の先頭のwindow改行は偽物になります。

クイックフィックス; 行の先頭にカーソルを置いて宣言し、、、window次にdown-arrowdeleteを押しreturnます。

私はemacsが深く根付いているので、いつも私ctrl-returnに起こります。そのため、ヒットすると間違ったタイプの改行が挿入され、コンパイラーがバーフします。バグを報告してください。それは重複としてマークされますが、重複はこれがユーザーを苛立たせる頻度を示します。

于 2012-12-22T18:40:48.050 に答える
2

あなたが投稿したコードは私のマシン上できれいにコンパイルされるので、おそらくXcodeプロジェクトのバージョンには、おそらくwindowプロパティを宣言した行に、印刷されない浮遊文字が含まれています。簡単な実験として、その行をコメントアウトして、問題がどこにあるかを確認してください。

問題のある文字を含む行を分離したら、コメントアウトしたままにして、新しい行にテキストを再入力します。それが機能するようになったら、コメント付きのコードを削除できます。

于 2012-12-22T17:19:39.067 に答える
2

このステートメントを削除するか、変数名を変更してください。

UINavigationController *navigationController;

そしてさらに試みる。

同じクラスに同じ変数名が2回あります。1つはプロパティとして、もう1つはグローバルとして。

編集:

または、あなたの意図はivarとして使用することだったので、次のように使用する必要があります。

@interface AppDelegate : UIResponder <UIApplicationDelegate>{
    UINavigationController *navigationController;
}

@property (strong, nonatomic) UIWindow *window;
@property (nonatomic, retain) UINavigationController *navigationController;

@end
于 2012-12-22T14:16:00.923 に答える