0

現在、タスクをテーブルに保存する単純な IOS アプリを作成しています。私は、アプリを拡張して、そこにある「リスト」を他の人と共有できるようにしたいと考えていました。XML または URL に保存する前に、writeToFile:atomically: を使用してローカル ファイルで試してみました。これはうまくいきました。しかし、ファイルを使用する人に固有のものにする必要があったため、ファイルをリストのタイトルに固有のものにしたかったのです。タイトル フィールドは UITextField です。Tasks は可変配列です ここに私のコードがあります:

- (void)saveTask:(id)sender;
{
NSString * original = [titleField text];
NSString * file = [NSString stringWithFormat:@"%@.plist", original];


[tasks writeToFile:@"/tmp/%@.plist",file 
        atomically:YES];
}

「:」を途中に自動的に追加してほしいというエラーが表示されます。writeToFile:atomically: で変数を使用するにはどうすればよいですか? これが意味をなさない場合は、私に知らせてください。何かを追加できます。ありがとうございました。

4

2 に答える 2

1

あなたがしていることで、.plist.plist 拡張子を持つファイルになってしまいます。

また、エラーが発生する理由は、コードは次のようにする必要があるためです

[tasks writeToFile:[NSString stringWithFormat:@"/tmp/%@.plist",file] 
        atomically:YES];

これはあなたが望んでいたものかもしれません

- (void)saveTask:(id)sender;
{
    NSString * original = [titleField text];
    NSString * file = [NSString stringWithFormat:@"%@.plist", original];

    [tasks writeToFile:[NSString stringWithFormat:@"/tmp/%@", file] 
            atomically:YES];
}
于 2012-06-08T03:24:54.680 に答える
0

変数ファイルの拡張子は plist です。配列をファイルに書き込もうとしているときに、パスに plist を再度追加しています。そのため、エラーが発生します。そのようなファイルは存在しません。

于 2012-06-08T02:11:07.437 に答える