メソッドで呼び出される次のメソッドを使用して、特定のアイテムをアプリに入力またはシードしようとしていますdidFinishLaunchingWithOptions
。
-(void)seedItems {
NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
if (![ud boolForKey:@"MUserDefaultsSeedItems"]) {
// Load seed items
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"seed" ofType:@"plist"];
NSArray *seedItems = [NSArray arrayWithContentsOfFile:filePath];
NSMutableArray *items = [NSMutableArray array];
for (int i = 0; i < [seedItems count]; i++) {
NSDictionary *seedItem = [items objectAtIndex:i];
MShoppingItem *shoppingItem = [MShoppingItem createShoppingItemWithName:[seedItem objectForKey:@"name"] andPrice:[[seedItem objectForKey:@"price"] floatValue]];
[items addObject:shoppingItem];
}
// Items path
NSString *itemsPath = [[self documentsDirectory] stringByAppendingPathComponent:@"items.plist"];
// Write to file
if ([NSKeyedArchiver archiveRootObject:items toFile:itemsPath]) {
[ud setBool:YES forKey:@"MUserDefaultsSeedItems"];
}
}
}
ファイルseed.plist
の内容は次のとおりです。
<?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>
<dict>
<key>name</key>
<string>Naranjas</string>
<key>price</key>
<integer>0</integer>
</dict>
<dict>
<key>name</key>
<string>Peras</string>
<key>price</key>
<integer>0</integer>
</dict>
<dict>
<key>name</key>
<string>Manzanas</string>
<key>price</key>
<integer>0</integer>
</dict>
</array>
</plist>
問題は、 を実行NSArray *seedItems = [NSArray arrayWithContentsOfFile:filePath];
すると、配列に 3 つのオブジェクトが含まれていると表示されますが、それらOut of scope
はSummary Unavailable
.
何かアイデアはありますか?
よろしくお願いします!