2013-03-01 73 views
0

如何從保存的PFOBject中加載NSArray值?PFObject的NSArray值

節省:

NSMutableArray *arr = [[NSMutableArray alloc]init]; 

    for (MyParseInformation *obj in results) { 
     [arr addObject:obj.correct]; // correct is NSNumber 
    } 
    [pfobject addObject:arr forKey:@"results"]; 
} 

[pfobject saveEventually:^(BOOL succeeded, NSError *error) { 

查詢:

PFQuery *query = [PFQuery queryWithClassName:className]; 
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) { 
    if(!error){ 
     for (PFObject *obj in objects) { 

      id str = [obj valueForKey:@"results"] ; 

...... ID與計數= 1項及其內容__NSArrayM型類是:

(
     (
     1, 
     1, 
     1, 
     1, 
     1, 
     1, 
     0, 
     0, 
     0, 
     1, 
     1, 
     1, 
     0, 
     1 
    ) 
) 

回答

1

您的str對象是一個NSArray*,其中包含一個對象,該對象本身是NSArray*這大概是你想要的值。

我不熟悉PFObject,但我猜測-addObject:forKey:存儲添加到與該鍵相關的數組中的對象。由於您只添加了一個對象,因此結果數組中只有一個值。您可能想用-setObject:forKey:代替。

0

凱文是正確的。 - [PFObject addObject:forKey:]用於將新元素插入數組鍵。這意味着你將一個數組插入到一個數組中。 addObject:forKey:當對象的鍵可能會受到競爭條件的影響時(例如,如果您在論壇對象上有評論數組),則可以確保當兩個客戶端競相改變@的值時,保存所有評論」。如果我做了類似[post setObject:@[aComment] forKey:@"comments"]的事情,情況就不會如此。

你可以寫你的代碼爲:

for (MyParseInformation *obj in results) { 
    [pfobject addObject:obj.correct]; // correct is NSNumber 
} 

但在你的情況下,它可能是一樣容易更換您的ADDOBJECT:forKey:符合的setObject:forKey: