0
我打電話給一個- (void)textViewDidChange:(UITextView *)textView
委託,其中的代碼從我的parse.com後端獲取數據。但99/100嘗試我得到一個空數組,在極少數情況下,它會返回確切的數據,並將其列在tableview.Any重新定義我的代碼的最佳方式?或使用任何其他代表?UITextView textViewDidChange - 從後端獲取數據,如UISearch
- (void)textViewDidChange:(UITextView *)textView
{
[searchAskerArray removeAllObjects];
[searchResultArray removeAllObjects];
NSString *inComingText = _txtQuestion.text;
if(![inComingText isEqualToString:@" "] && inComingText.length>4 && [[inComingText componentsSeparatedByString:@" "] count]>0)
{
PFQuery *searchQuery = [PFQuery queryWithClassName:@"Questions"];
_txtQuestion.text = inComingText;
[searchQuery includeKey:@"user"];
[searchQuery whereKey:@"question" containsString:_txtQuestion.text];
[searchQuery findObjectsInBackgroundWithBlock:^(NSArray *quesArray, NSError *error)
{
for (int i = 0; i <quesArray.count; i++)
{
NSString *ques = [quesArray[i] objectForKey:@"question"];
PFUser *asker = [quesArray[i] objectForKey:@"user"];
[searchResultArray addObject:ques];
[searchAskerArray addObject:asker.username];
}
if (searchResultArray!=nil && searchAskerArray.count >0)
{
finalQuesArray = searchResultArray;
finalAskerArray = searchAskerArray;
[_similarTable reloadData];
}
}];
}}
當用戶輸入快速時,這個委託會立即引發多個事件觸發。任何建議?
或者我將如何重新定義代碼來重新加載表視圖一旦完成抓取? – KhanXc
當按下按鈕時,您可以從parse.com開始獲取數據,您可以顯示UIActivityIndicator以阻止UI,直到搜索結果加載到tableview中。 – zaheer
我想要一個搜索欄的概念,所以你的建議離不開上下文!用戶開始輸入後立即查詢結果! – KhanXc