2015-08-15 157 views
0

我正在從數據來自服務器的項目工作。數據包含(緯度,經度,地區和街道名稱)。我將每個字段保存在單獨的數組中,只是在tableview上顯示與該位置相關的區域和街道名稱。如何在搜索欄中執行搜索時獲取tableview的原始索引?

當用戶點擊table-view的特定行時,出現另一個屏幕,tableviewcell的特定索引的位置顯示在地圖上viva特定的lat,lon。

當我在tableview上實現搜索欄來搜索地區名稱的話我怎麼才能得到精確的搜索區域的經度和緯度?

回答

0

您可以從分區數組中獲取分區的索引,並從相同索引處的經度數組獲取經度。

斯威夫特:

let index = find(district,districtArray)! 
let longitude = longitudeArray[index] 
let latitude = latitudeArray[index] 

的Objective-C:

int index = [districtArray indexOfObject:district]; 
double latitude = latitudeArray[index]; 
double longitude = longitudeArray[index]; 

我認爲在所有的數組中存在的數據,但如果有一個機會,一些陣列在一些指數將是空做錯誤檢查以及。

+0

我有三個陣列,所有三個都是20層的元件和元件在索引0處已經培訓相關的數據在相同的指數。問題另一個數組是,當我執行搜索VIVA搜索欄在一個陣列上,然後我如何獲得來自其他兩個陣列的相關數據。例如,我有分區數組,另外兩個是經度和緯度數組。 – user2293751

0
- (void) Search_TF_Call { 
    [email protected]"Type a name"; 
    txtForSearch.returnKeyType = UIReturnKeyDone; 
    txtForSearch.autocorrectionType = UITextAutocorrectionTypeNo; 
    [txtForSearch addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged]; 
} 

- (void) textFieldDidChange:(UITextField *)txtFld { 
    NSMutableArray *nameArray = [[NSMutableArray alloc] initWithArray:tempContact]; 
    NSString *match = txtFld.text; 
    NSMutableArray *listFiles = [[NSMutableArray alloc] init]; 
    NSArray *terms = [match componentsSeparatedByCharactersInSet:[NSCharacterSet nonBaseCharacterSet]]; 

    for (NSString *term in terms) { 
     if([term length] == 0) { continue; } 

     NSPredicate *p = [NSPredicate predicateWithFormat:@"SELF BEGINSWITH[cd] %@", term]; 
     [listFiles addObject:p]; 
    } 

    NSPredicate *filter = [NSCompoundPredicate andPredicateWithSubpredicates:listFiles]; 
    listFiles = [NSMutableArray arrayWithArray:[nameArray filteredArrayUsingPredicate:filter]]; 
    if (txtFld.text.length > 0) { 
     sortedArrayForTempContact = listFiles; 
    } 
    else { 
     sortedArrayForTempContact = tempContact; 
    } 
    [tblView reloadData]; 
} 
+0

nameArray和sortedArrayForTempContact在.h文件中聲明 –

+0

我有三個數組,所有這三個數組都是20個元素,索引0處的元素在另一個數組中具有相同索引處的相關數據。問題是,當我在一個數組上執行搜索viva搜索欄時,那麼我如何從其他兩個數組獲得相關數據。例如,我有分區數組,另外兩個是經度和緯度數組。 – user2293751