0

サーバーからのトークンをplistに保存したいと思います。plist firsを作成する必要があるのか​​、それともDocumentdirectroyの次のコードで自動的に作成できるのかわかりません。ただし、plistを作成して辞書を書き込むことができません。これが私のコードです

-(void)writeToPlist:(NSString*)value  forkey:(NSString *)key

{
    NSLog(@"Write plist here");

    //NSError *error;

    NSArray *paths=NSSearchPathForDirectoriesInDomains( NSDocumentDirectory, NSUserDomainMask, YES);

    NSString *documentDirectory=[paths objectAtIndex:0];

    NSString* path=[documentDirectory stringByAppendingFormat:@"Util.plist"];

    NSLog(@"The path is %@",path);

    NSFileManager *fileManager=[NSFileManager defaultManager];

    NSMutableDictionary *data;

    if(![fileManager fileExistsAtPath:path])
    {
        path=[[NSBundle mainBundle]pathForResource:@"Util" ofType:@"plist"];
    }


    [data setObject:value forKey:key];

    [data writeToFile:path atomically:YES];//will it create the plist?


}   
4

2 に答える 2

0

NSUserDefaults を使用して保存しないのはなぜですか?

ここにコード例があります:

NSUserDefaults *standardUserDefaults = [NSUserDefaults standardUserDefaults];
if([standardUserDefaults objectForKey:@"your-key-goes-here"] == nil) //this means you don't have that key
{[standardUserDefaults setValue:@"your-value-goes-here" forKey:@"your-key-goes-here"];}
[standardUserDefaults synchronize];  

最終的に同期することを忘れないでください。

データが必要な場合は、standartUserDefaults:valueForKeyメソッドを呼び出す必要があります。

お役に立てれば..

于 2012-05-01T22:46:20.483 に答える
0

プログラムでplistファイルを簡単に作成する方法を見つけました。これは私にとってはうまくいきます:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *path = [documentsDirectory stringByAppendingString:@"/myFile.plist"];
if (![[NSFileManager defaultManager] fileExistsAtPath:path]){
   NSDictionary *emptyDic = [NSDictionary dictionary];
   [emptyDic writeToFile:path atomically:YES];
}

if ステートメントの内容を変更すると、機能します。

于 2012-05-01T23:16:27.203 に答える