2

5 より前のバージョンの Xcode では、プロジェクトの作成時にプロジェクト設定で ARC を無効にすることができます。現在、ARCがこの問題を引き起こしています。

プロパティ リスト ファイルを使用すると、読み取りステップでコンパイラからエラーが表示されます。Xcode 4 の同じコードでは、この問題は発生しませんでした。プロパティ リスト ファイルでは、キーは数字であり、viewController.m でもターゲットに対して ARC を許可しないと、警告が持続します。

コンパイラ フラグを追加する方法がわかりません。コード (フランス語の文字列):

NSString *error;
NSString *rootPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];


NSString *plistPath = [rootPath stringByAppendingPathComponent:@"Save.plist"];

NSArray *keys = [NSArray arrayWithObjects:@"valeurCompteur1", @"valeurCompteur2", @"valeurCompteur3", @"valeurCompteur4", @"valeurCompteur5", @"nomCompteur1", @"nomCompteur2", @"nomCompteur3", @"nomCompteur4", @"nomCompteur5", nil];

NSArray *objs = [NSArray arrayWithObjects: compteur1, compteur2, compteur3, compteur4, compteur5, nameC1, nameC2, nameC3, nameC4, nameC5, nil];
4

2 に答える 2

7

手動の参照カウント (retain と release を使用) が必要な場合は、ビルド設定で ARC を無効にすることができます。

プロジェクト ナビゲーターでプロジェクトを選択します。エディター領域には、情報、ビルド設定、ビルド フェーズ、ビルド ルールの 4 つのタブがあるビューが表示されます。ビルド設定を選択します。

これら 4 つのタイトルの左側に、必要なターゲットを選択するためのドロップダウン リストがあるはずです。ARC を使用しないターゲットを選択します。

下にスクロールして、「Apple LLVM 5.0 - Language - Objective-C」というタイトルのセクションを見つけます。その下に 3 つの設定があります。一番下は「Objective-C Automatic Reference Counting」です。これを「いいえ」に設定すると、手動で参照カウントが行われます。

ただし、報告された問題を修正する方が適切なオプションである可能性があります。ARCを使用しないよりも使用する方が良いです。

エラーを修正するには

obis配列を作成する行でエラーが発生したと言います。これは、次の変数の 1 つ以上がintオブジェクトではなく であることを意味します。

compteur1, compteur2, compteur3, compteur4, compteur5, nameC1, nameC2, nameC3, nameC4, nameC5

整数を配列に入れたい場合は、それをNSNumber例えばボックス化する必要があります

NSArray* anArray = [NSArray arrayWithObjects: [NSNumber numberWithInt: 2], nil];

現在、次のような省略形の書き方があります。

NSArray* anArray =  @[ @(2) ];
于 2013-10-28T15:15:56.987 に答える