2

(私はObjective Cが初めてなので、これが簡単な質問のように思われる場合はお詫びします)

ここで次のメッセージを調査しました

フォーマットは文字列リテラルではなく、フォーマット引数はありません

また、ほとんどの応答には NSLog ステートメントが含まれています。ただし、私のエラーはこの行で表示されます

NSString *path = [[self applicationDocumentsDirectory] stringByAppendingFormat:[NSString stringWithFormat:@"/%@", [managedObject Name]]];

コード セットのトラブルシューティングを行っていますが、ここでエラーが発生する理由がわかりません。これに関する任意の支援をいただければ幸いです。

4

4 に答える 4

4

以下はそれを修正する必要があります。

NSString *path = [[self applicationDocumentsDirectory] stringByAppendingFormat:[NSString stringWithFormat:@"/%@", [managedObject Name]], nil];

あるいは

NSString *path = [[self applicationDocumentsDirectory] stringByAppendingFormat:@"/%@", [managedObject Name]];

それもやるべきです。

フォーマット パラメータを必要とする 2 つのメソッドを呼び出していましたが、1 つを [NSString stringWithFormat] に渡していましたが、stringByAppendingFormat メソッドには渡していませんでした。

于 2011-01-17T01:27:59.840 に答える
3

他の人が言ったことに加えて、あなたは調べなければなりません

- (NSString *)stringByAppendingPathComponent:(NSString *)aString
于 2011-01-17T01:41:15.343 に答える
1

を使用しstringByAppendingFormat、次に を使用してstringWithFormatいます。どちらかを選んでください。修理:

NSString *path = [[self applicationDocumentsDirectory] stringByAppendingFormat:@"/%@", [managedObject Name]];
于 2011-01-17T01:29:03.977 に答える
0
[NSString stringWithFormat:@"/%@", [managedObject Name]

%@はすでに の値に置き換えられた文字列を返します[managedObject Name]。したがって、メソッドstringByAppendingFormatは書式設定文字列と引数を取得していません。

ところで、慣例では、小文字のアルファベットで始まるメソッド名を使用します。[managedObject Name]

于 2011-01-17T01:34:13.043 に答える