0

ファイルから 2 つの NSMutableArrays を読み込もうとしています。私はそのように保存してロードしています:

保存:

NSMutableDictionary *saveDict = [NSMutableDictionary dictionary];
[saveDict setValue:name forKey:@"name"];
[saveDict setValue:last_episodue forKey:@"whereat"];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *filePath = [documentsDirectory stringByAppendingString:@"/ShopFile.sav"];
[saveDict writeToFile:filePath atomically:YES];

ロード:

        name = [[NSMutableArray alloc]init];
    last_episodue = [[NSMutableArray alloc]init];

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSString *filePath = [documentsDirectory stringByAppendingString:@"/ShopFile.sav"];
    NSDictionary *loadDict = [NSDictionary dictionaryWithContentsOfFile:filePath];
    name =            [loadDict valueForKey:@"name"];
    last_episodue=     [loadDict valueForKey:@"whereat"];

変数 name と last_episodue は、ヘッダー ファイルで宣言されています。

プログラムはコンパイルされて実行されますが、実行時にファイルをロードしようとすると、コードの LOAD 部分が実行され、終了するとプログラムは動作を停止します。これはデバッグ情報です (最初の部分):

2012-10-13 12:14:10.801 series[5223:303] -[NSISRestrictedToZeroMarkerVariable copyWithZone:]: unrecognized selector sent to instance 0x1001900c0
2012-10-13 12:14:10.803 series[5223:303] -[NSISRestrictedToZeroMarkerVariable copyWithZone:]: unrecognized selector sent to instance 0x1001900c0
2012-10-13 12:14:10.906 series[5223:303] (

何が問題なのかわかりますか?ありがとう!

編集:これは、保存が行われるファイルの内容です:

 <?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">
<dict>
    <key>name</key>
    <array>
        <string>a</string>
    </array>
    <key>whereat</key>
    <array>
        <string>a</string>
    </array>
</dict>
</plist>
4

1 に答える 1