2015-03-25 2 views
1

Я пытаюсь реализовать алфавитные разделы в своем приложении, чтобы изучить Swift. Я нашел этот учебник, чтобы помочь мне: http://www.pumpmybicep.com/2014/07/04/uitableview-sectioning-and-indexing/collationStringSelector error: Unrecognized selector

Во-первых, я отделяю класс от класса UITableViewController для большей удобочитаемости.

Но у меня есть ошибка в collationStringCollector, он не распознает «m_titre», и я не понимаю, как работает collationStringSelector и так, как его использовать.

var lesCours: [Cours] = cours_array.map { eachCours in // cours_array contain all "Cours" which will be indexed 
     eachCours.section = self.collation.sectionForObject(eachCours, collationStringSelector: "title") 
     return eachCours 
    } 

Вот мой класс «Кур»

class Cours { 
var m_id : String 
var m_titre : String 
var m_content : String 
var m_accept : Bool 
var m_date : NSDate? 
var section: Int? 

init(titre:String, content:String) 
{ 
    self.m_titre = titre 
    self.m_content = content 
    self.m_id = "" 
    self.m_accept = false 
    self.m_date = nil 
} 

// ... getters, setters, specifics function 

Спасибо

PS: Я прошу прощения, если мой английский не является совершенным, это не мой родной язык, я надеюсь, что вы поймете, без проблем, несмотря на это

ответ

3

Селекторы используют передачу сообщения Objective-C, поэтому свойство должно быть «Objective-C compatible». Самый простой способ добиться этого, чтобы сделать ваш класс подкласс NSObject:

class Cours : NSObject { 
    // ... 
} 

И конечно селектор должен совпадать с именем свойства, в вашем случае «m_titre» вместо «титул».

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