我正在尝试在我的应用程序中实现按字母顺序排列的部分来学习Swift。 我找到了这个教程来帮助我:http://www.pumpmybicep.com/2014/07/04/uitableview-sectioning-and-indexing/
首先,我将类与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
}
这是我的班级" Cours"
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:我很抱歉,如果我的英语不完美,不是我的母语,我希望尽管如此,你会毫无困难地理解答案 0 :(得分:3)
选择器使用Objective-C消息传递,因此属性必须是
" Objective-C兼容"。实现这一目标的最简单方法是制作你的
class NSObject
的子类:
class Cours : NSObject {
// ...
}
当然,选择器必须与您的房产名称相匹配 case" m_titre"而不是" title"。