2013-01-16 40 views
0

在我的Iphone应用程序中,当用户键入符号“@”时,会弹出一个对话框并显示他的所有朋友列表,他可以从中选择任何朋友。在iPhone应用程序中发现评论的朋友

但现在我的客户端需要做一些修改。如果用户键入@,弹出窗口不应该出现,但是当他在@之后键入任何字母时,所有以该字母开头的朋友名称都应该出现在弹出窗口中。 例如: - 如果用户输入@p - 弹出会与各界朋友的名字开头字母P.

如何做到这一点,我已经试过的东西,但不能做到这一点 (我收到好友列表在加载视图的阵列) 现在我使用

 - (BOOL) textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string 
    { 

    if([string isEqualToString:@"@"]) 
    { 
     s=1; 


     [UIView beginAnimations:nil context:nil]; 
     [UIView setAnimationDuration:0.5]; 
     [frndsView setCenter:CGPointMake(frndsView.center.x, frndsView.center.y-310)]; 
     [UIView commitAnimations]; 


    [commentField resignFirstResponder]; 
     } 
    return YES; 
    } 
+0

来自联系人?你需要ns谓词才能做到这一点 – amar

+0

不是来自联系人,我得到了一个朋友阵列 –

+0

我的答案就像魅力一样 – amar

回答

1

使用此代码上框TextChanged文本

NSMutableArray *subpredicates = [NSMutableArray array]; 

    for(NSString *term in arryOfWordsToBeSearched) { 
     NSPredicate *p = [NSPredicate predicateWithFormat:@"self contains[cd] %@",term]; 
     [subpredicates addObject:p]; 
     } 

    NSPredicate *filter = [NSCompoundPredicate andPredicateWithSubpredicates:subpredicates]; 
    result = (NSMutableArray*)[arryOfDummyData filteredArrayUsingPredicate: filter]; 

结果是一个数组

+0

使用联系人数组代替“arrayOfdummyData”,并改变这一行self包含[cd]%@根据到数据源cmnt如果你需要帮助 – amar

+0

它对你有帮助吗? – amar

相关问题