我有一个朋友的问题。请帮帮我们。 我正在实现一个类似于地址簿的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;
答案 0 :(得分:0)
您的所有联系人都存储在contactArray
中吗?如果是,您是否尝试[contactArray filteredArrayUsingPredicate:predicate]
?
答案 1 :(得分:0)
我能够解决这个问题。 @sbooth,它很有效,但唯一的问题就是你必须施展它。
(NSMutableArray*)array = (NSMutableArray*)[contactArray filteredArrayUsingPredicate:predicate];