簡體   English   中英

特定於語法的解析,如何在NSArray上保存查詢結果

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM