2012-11-20 19 views
1

搜索我使用搜索到UITableView這樣的:目標C:在tableview中與NSASCIIStringEncoding

titles = [NSArray arrayWithArray:[datamanager titlesForEntriesBetween:(NSInteger)[slider minSelectedValue] and:(NSInteger)[slider maxSelectedValue]containing:searchText]]; 

我怎麼編碼在搜索過程中與NSASCIIStringEncoding數組值?

(數組包含"tête"例如..而當我搜索"tete"沒有匹配..所以我將編碼陣列值只是我搜索)

回答

1

我想補充的第三個參數更改爲您的數據管理器功能:

- (NSArray*)titlesForEntriesBetween:(NSInteger)startIndex 
    and:(NSInteger)stopIndex 
    withFunction:(BOOL(^)(NSString*))block { 
    NSMutableArray *retVal = [NSMutableArray array]; 
    for(NSInteger i = startIndex; i <= stopIndex; ++i) { 
    NSString *string = [array_ objectAtIndex:i]; 
    if (block(string)) { 
     [retVal insertObject:string]; 
    } 
    } 
    return retVal; 
} 

然後,我會叫這樣的功能:

titles = [datamanager titlesForEntriesBetween:(NSInteger)[slider minSelectedValue] and:(NSInteger)[slider maxSelectedValue] withFunction:^(BOOL)(NSString *str) { 
    NSData *data = [str dataUsingEncoding:NSASCIIStringEncoding]; 
    NSString *simpleString = [[[NSString alloc] initWithData:data usingEncoding: NSASCIIStringEncoding] autorelease]; 
    return [simpleString isEqualToString:str]; 
}]]; 

注:我剛纔輸入這,我的天堂試圖編譯/運行這個。

+0

Thx爲您的答案!我會嘗試! – Zuhn

+0

想要回答? :) – jfaller