我有一個步進器,在它的值更改期間,我需要將值存儲在plist中。在plist文件中存儲值時出錯
所以根據saveAppPlist方法我需要通過的NSMutableDictionary與改變的文件 - > dictData
NSData *plistData = [NSPropertyListSerialization dataFromPropertyList:dictData format:NSPropertyListXMLFormat_v1_0 errorDescription:&error];
if(plistData)
{
[plistData writeToFile:plistPath atomically:YES];
}
這裏,它是步進的方法:
-(void)changeItemQuantityAtRow:(int)row
toValue:(double)value
{
NSMutableDictionary *item = [[items objectAtIndex:row] mutableCopy];
[item setObject:[NSNumber numberWithDouble:value] forKey:@"Quantity"];
[items setObject:item atIndexedSubscript:row];
NSLog(@"%@", items);
NSMutableDictionary *plistDict = [NSDictionary dictionaryWithObjects:items forKeys:[NSArray arrayWithObjects:@"Name", @"Price", @"Quantity", nil]];
NSLog(@"%@", plistDict);
[self saveAppPlist:plistDict];
}
和的plist外觀像這樣(這只是4件中的一件):
<dict>
<key>Items</key>
<array>
<dict>
<key>Name</key>
<string>The zero item</string>
<key>Price</key>
<integer>133</integer>
<key>Quantity</key>
<integer>17</integer>
</dict>
步進器正在改變曲線該項目的反義詞。但我有一個這樣的錯誤,當我試圖改變量的值:
'NSInvalidArgumentException', reason: '*** -[NSDictionary initWithObjects:forKeys:]: count of objects (4) differs from count of keys (3)'
我理解錯誤的來源,但不知道如何解決這個問題。誰能幫我?還有一點 - 可能是在步進器每次敲擊後存儲數值都不太好。
您的物品數組有4個物體,並且您給出了三個鍵,這些問題一旦顯示出您的物品數組數據。 – Balu
@Sunny我看到了,但是邏輯上有些問題..我有4個Items對象,每個對象都有3個值..我只是想改變1個項目的數量..我該怎麼做? – ShurupuS
解釋你想要的結構? – Balu