12

私の iOS アプリは動作していましたが、突然次のエラーが表示されます:「以前の 'type-name' 宣言指定子と組み合わせることはできません」。このエラーの原因について何か考えはありますか?

#import "SalesAPIManager.h"

@interface SalesDelegate : NSObject { // error points to this line
    __unsafe_unretained id<SalesAPIManagerDelegate> delegate_;
}


@property (unsafe_unretained, nonatomic) id<SalesAPIManagerDelegate> delegate;


- (id)initWithDelegate:(id<SalesAPIManagerDelegate>)delegate;


@end
4

7 に答える 7

22

同様に、プロジェクトのランダムファイルにタイプミスがありました。コメントの前に誤って配置されたのは、単なるプレーンテキストでした。それを修正/見つけるための私の提案は、;を置くことです。フラグが立てられたステートメントの直前。これにより、コンパイル時に誤ったテキストに警告が表示されました。

于 2012-10-28T10:08:16.943 に答える
5

これは、Xcode の欠点の 1 つです。Xcode はこれまでで最悪の IDE の 1 つであり、Apple は更新ごとに改善しようとしています。しかし、この問題は、Xcode のコンパイラが見ていないいくつかの場所に "Some word" を追加すると発生します。

私の場合は画像のようでした:

ここに画像の説明を入力

AppDelegate.h の RESideMenu という単語を削除するのを忘れていました。Xcode がビルドまでコードを受け入れ、エラーが発生すると、関連しない別のクラスでそれをレイするという奇妙なことです。

于 2014-04-01T18:22:02.443 に答える
3

私はこれと同じ問題を抱えていました。main.mファイルにタイプミスがあったことがわかりました。それを片付けたら、このエラーはなくなりました。

于 2012-08-01T19:03:15.713 に答える
1

同じ問題が発生します。そして、.h ファイルの下部にあるジャンク テキストを削除した後、最終的に修正しました。試すことができます。

于 2012-12-24T06:48:12.497 に答える
0

これが非常に遅いことはわかっていますが、cpp Xcode プロジェクト (31 行目) でこのエラーが発生し、そのすぐ上の文字列の初期化 (28 行目) を完了すると消えました。私のコードは次のとおりです: 前の 'type-name' 宣言指定子と組み合わせることはできません

string //STRING NEEDING INITIALIZATION


void AMPM() {
    
    if ((firstHourChar == 1) && (secondHourChar > 2)) {
        afterAM = true;
    }
}
于 2021-03-17T01:26:31.093 に答える