我都是新來的Parse和iOS開發。基本上我試圖實現一個方法來檢索一個類中的解析對象,其他類將調用一個entityName來返回對象。因此,另一個班級將以entityName
作爲參數調用方法retrieveRecords
。重複使用findObjectsInBackgroundWithBlock方法:Array是零
但是,數組總是返回nil,因爲塊方法在數組返回後纔會執行。之前(當我獲取對象的工作時!)我只有一種方法來檢索相同的類中的對象,我需要的數據,所以我剛剛宣佈一個__block
數組返回數據。
我知道這是一個普遍的問題,因爲我廣泛搜索它,但我似乎無法找到正確的解決方案,返回一個對象數組到另一個類,並以更多糾結的代碼不起作用。
- (void)doQuery:(NSString *)entityName
{
//Create query for all Post object by the current user
PFQuery *workoutQuery = [PFQuery queryWithClassName:entityName];
[workoutQuery whereKey:@"owner" equalTo:[PFUser currentUser]];
// Run the query
[workoutQuery findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
if (!error) {
//Save results and update the table
NSLog(@"Adding objects to the array");
NSLog(@"Size %lu" , (unsigned long)objects.count);
//fill the array once the block is BEING EXECUTED
[self successfulRetrievedArray:objects];
}
}];
}
-(NSArray *)successfulRetrievedArray:(NSArray *)objects
{
self.objectsArray =[[NSMutableArray alloc]initWithArray:objects];
return self.objectsArray;
}
-(NSArray *)retrieveRecords:(NSString *)entityName
{
//DO QUERY
[self doQuery:entityName];
//RETRIEVE RECORDS
return self.objectsArray;
}
謝謝SOOOOO多。真的很感激它! @ user2759361 – Sarah92
@ Sarah92你應該接受這個評論,如果它是工作示例:) – user2786037
只是粘貼代碼而不解釋它不是一個好的答案 – newacct