[英]Parse specific, how to save query results on an NSArray
我是iOS和PFQuery
,請幫忙
IM試圖PFQuery
獲得的對象數組存儲到本地NSArray
,Im試圖在if (!error)
內部進行操作,但它沒有離開該塊,一旦該塊終止,它在我的數組上的值也將PFQuery
。
//InstallersDirectory.m
@interface InstallersDirectoryTVC ()
@property (nonatomic, strong) NSArray *supervisors;
@end
//more code goes here
- (void)viewDidLoad
{
[super viewDidLoad];
PFQuery *query = [PFQuery queryWithClassName:@"InstallersInfo"];
[query whereKey:@"supervisor" equalTo:@"yes"];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
if (!error) {
for (PFObject *object in objects) {
self.supervisors = [objects valueForKey:@"supervisor"];
}
}else {
NSLog(@"Error, %@ %@",error,[error userInfo]);
}
}];
一切都在該塊內運行,例如self.supervisors.count或NSLog
,但它根本不會離開該塊。 您能否告訴我如何才能將這些值明確存儲到self.supervisor中?
謝謝 !!
編輯 評論
如果您仍然需要此問題的幫助,請參考以下兩個或兩個建議:
首先,self.supervisors是一個NSArray。 作為NSArray,必須在創建時對其進行完全初始化和填充。 因此,即使您遍歷結果,每次也要創建一個新數組,這意味着只有最后一次迭代可能會存儲在self.supervisors中。
試試這個,
@property(nonatomic,strong)NSMutableArray * supervisor;
在您的區塊中:
[self.supervisors addObject:object];
//note: this will put the entire returned object in your mutable array
然后在您的討論區之外:列出所有主管:
for (PFObject *supervisor in self.supervisors) {
NSLog(@"supervisor info:%@",supervisor);
}
要獲得列表中的第四名主管:
PFObject *superVisorNumber4 = [self.supervisors objectAtIndex:4];
從該主管那里獲得電話號碼(補足:)
NSString *phone = [superVisorNumber4 objectForKey:@"phone"];
希望能有所幫助
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.