2013-11-08 2 views
0

У меня есть несортированный NSArray имен. Я знаю, как создать статическую таблицу, но я не уверен, как создать динамическую таблицу, в которой будет раздел с первой буквой имени, а затем имена для этой буквы в каждом разделе. Я знаю, это звучит как вопрос программирования начального уровня, и это хорошо. Любая помощь будет большой. Новое для iOS-программирования, поэтому я просто пытаюсь понять все.UITableView Setup

+1

проверить это: http://stackoverflow.com/questions/4051009/how-to-create-sectioned-grouped-table-view-alphabbically –

+0

его трудно объяснить широкие вопросы вроде этого. попробуйте найти google для iOS + в алфавитном порядке + отсортировано + UITableView .. –

+0

Хорошо, я дам этот снимок. Благодарю. – fbm351

ответ

1

Вы можете сделать это легко с TLIndexPathTools используя блок на основе модели данных инициализатору:

NSArray *items = ...; // and array containing your unorganized data (items of type NSString assumed here) 
TLIndexPathDataModel *dataModel = [[TLIndexPathDataModel alloc] initWithItems:items sectionNameBlock:^NSString *(id item) { 
    return [[((NSString *)item) substringToIndex:1] upperCaseString]; 
} identifierBlock:nil]; 

sectionNameBlock аргумент является блок, который возвращает первую букву данного элемента, который инициализатор использует для организовать данные в разделы. Тогда вы будете использовать dataModel (вместо массива) в своих методах исходных данных и делегат, используя различные интерфейсы, как [dataModel numberRowsInSection:], [dataModel itemAtIndexPath:], [dataModel indexPathForItem:] и т.д.

Попробуйте запустить "Blocks" sample project для рабочего примера.

Смежные вопросы