ios地址簿类似的应用程序

时间:2012-01-12 17:38:51

标签: ios xcode

我有一个朋友的问题。请帮帮我们。 我正在实现一个类似于地址簿的ios应用程序。我能够显示带有名称和电子邮件的单元格。我正在复制下面的代码。无论如何,我的问题是我的名字在contactValue.name& contactValue.email中的电子邮件。现在我需要将它们分成几个部分。我如何划分它们。我的意思是我只想把所有以A开头的名字放在一个部分中,依此类推。

id alphabet = [arrayOfCharacters objectAtIndex:[indexPath section]];

//---get all names beginning with the letter---
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF beginswith[c] %@", alphabet];
// How can I filter the names here using the above predicate condition.I have my names in contactValue.name. According to the names the emails should also placed in the cells.


Contact* contactValue= (Contact*)[contactArray objectAtIndex:indexPath.row];

cell.textLabel.text=contactValue.name;
cell.detailTextLabel.text=contactValue.email;

@sbooth:所以你的意思是以下内容?但是当我执行以下操作时,它会说明在过滤代码行中从NsArray分配给NsMutableArray的不可分割的指针类型。这是什么意思?

   id alphabet = [arrayOfCharacters objectAtIndex:[indexPath section]];

//---get all states beginning with the letter---
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF beginswith[c] %@", alphabet];
//here names n contactArray are NsMutableArrays.

names = [contactArray filteredArrayUsingPredicate:predicate];

if ([names count]>0) {

Contact* contactValue= (Contact*)[names objectAtIndex:indexPath.row];

    cell.textLabel.text=contactValue.name;
    cell.detailTextLabel.text=contactValue.email;

2 个答案:

答案 0 :(得分:0)

您的所有联系人都存储在contactArray中吗?如果是,您是否尝试[contactArray filteredArrayUsingPredicate:predicate]

答案 1 :(得分:0)

我能够解决这个问题。 @sbooth,它很有效,但唯一的问题就是你必须施展它。

(NSMutableArray*)array  = (NSMutableArray*)[contactArray filteredArrayUsingPredicate:predicate];