0

これについて同様のトピックをいくつか見つけましたが、どれも私の問題を解決しません。基本的に、plist の配列から nsstring を読み取り、nsstring 値を上書きしたいと考えています。

NSArray *directoriespaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES); 
NSString *documentsDir = [directoriespaths objectAtIndex:0];
NSString *fullnamefordir = [documentsDir stringByAppendingPathComponent:@"data.plist"];

        NSArray *turns = [NSArray arrayWithContentsOfFile:fullnamefordir];
        NSString *resultofarray = [turns objectAtIndex:0];
        NSLog(@"%@",turns); 
        NSLog(@"%@",resultofarray); 

nslog は常に null を表示し、値を読み取ることさえできないため、これまでのところ何も保存しようとはしていません:/

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
    <string>8</string>
</array>
</plist>

私もnsdictionaryで試しましたが、うまくいきません:)

4

1 に答える 1

3

まず、plist ファイルがドキュメント ディレクトリに存在するかどうかを確認します。

NSFileMangaer *objFileManager=[[NSFileManager alloc]init];
BOOL isfileExist=[objFileManager fileExistsAtPath:yourDocumentDirectoryPath];

ブール値が true の場合、plist の内容を確認します。ファイルがドキュメント ディレクトリに存在せず、リソースにある可能性があります。plist をリソース フォルダからドキュメント ディレクトリにコピーしていない場合は、まずそこにコピーしてからアクセスしてみてください。

于 2012-05-19T19:32:09.350 に答える