2

http://developer.apple.com/library/ios/#documentation/iPhone/Reference/UILocalizedIndexedCollat ​​ion_Class/UILocalizedIndexedCollat​​ion.html に見られるように UILocalizedIndexCollection を実装しようとしてい ます。

ABRecordRef の配列を与える許可をユーザーから取得した後、アドレス帳を取得します。必要なセクション配列の配列を構築しようとする次のコードがあります。ただし、collat​​ionStringSelectior に何を指定すればよいかわかりません。どんな助けでも素晴らしいでしょう。

- (void)setListContent:(NSArray *)inListContent
{
    if (listContent == inListContent) {
        return;
    }
    [listContent release]; listContent = [inListContent retain];                                   

    NSMutableArray *sections = [NSMutableArray array];
    UILocalizedIndexedCollation *collation = [UILocalizedIndexedCollation currentCollation];
    for (int i=0;i < [listContent count];i++) {
        ABRecordRef person=[listContent objectAtIndex:i];
        NSLog(@"person name is ");
        NSString* name =  (NSString *)(ABRecordCopyCompositeName(person));
        NSLog(name);
        NSInteger section = [collation sectionForObject:person collationStringSelector:@selector(????)];
        [sections addObject:person toSubarrayAtIndex:section];
    }

    NSInteger section = 0;
    for (section = 0; section < [sections count]; section++) {
        NSArray *sortedSubarray = [collation sortedArrayFromArray:[sections objectAtIndex:section]
                                          collationStringSelector:@selector(name)];
        [sections replaceObjectAtIndex:section withObject:sortedSubarray];
    }
    [sectionedListContent release];
    sectionedListContent = [sections retain];
}
4

1 に答える 1

1

次のコードを使用する必要があります。

NSInteger section = [collation sectionForObject:name collationStringSelector:@selector(self)];
于 2012-11-22T12:49:56.063 に答える