[英]Set selected row in UIPickerView from Parse objects
在一個視圖中,有一個文本字段和一個選擇器視圖。 選擇器視圖項是從解析查詢中加載的。 文本字段文本始終是選擇器視圖項之一。 選擇器視圖所選項目必須與文本字段文本相同。 這是我目前的代碼,但是會引發異常:
PFQuery *query = [PFQuery queryWithClassName:@"floors"];
[query whereKey:@"floor_restaurant" equalTo:self.restaurante.objectId];
[query orderByDescending:@"createdAt"];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
如果(!錯誤){_pickerData =對象;
for (int i = 0; i < [objects count]; i++)
{
if ([[objects objectAtIndex:i] isEqualToString: self.floor_name_text.text]){
[self.floor_picker selectRow:i inComponent:0 animated:YES];
break;
}
}
[self.floor_picker reloadAllComponents];
}
else {
NSLog(@"error");
}
}];
例外:
2015-02-28 21:03:20.707 RestAppXXI[675:60b] -[PFObject isEqualToString:]: unrecognized selector sent to instance
我是iOS解析的新手,歡迎任何幫助。
編輯:
- (NSString*)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
PFObject *object = _pickerData[row];
return object[@"floor_name"];
}
感謝rmaddy的評論和一些搜索,我已經解決了我的問題,這是可以工作的最終代碼:
[PFQuery *query = [PFQuery queryWithClassName:@"floors"];
[query whereKey:@"floor_restaurant" equalTo:self.restaurante.objectId];
[query orderByDescending:@"createdAt"];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
if (!error) {
_pickerData = objects;
for (int i = 0; i < [objects count]; i++)
{
NSString *textoactual = self.floor_name_text.text;
if ([[[objects objectAtIndex:i] objectForKey:@"floor_name" ] isEqualToString: textoactual]){
[self.floor_picker reloadAllComponents];
[self.floor_picker selectRow:i inComponent:0 animated:YES];
break;
}
}
}
else {
NSLog(@"error");
}
}];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.