我正在尝试在应用程序中实现按字母顺序排列的部分来学习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
}
这是我的课程“课程”
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:如果我的英语不是很完美,不是我的母语,我对此表示歉意,尽管如此,希望您能毫无困难地理解
选择器使用Objective-C消息传递,因此该属性必须是“ Objective-C兼容的”。实现此目的的最简单方法是使您的类成为以下子类的子类NSObject
:
class Cours : NSObject {
// ...
}
当然,选择器必须与属性名称匹配,在您的情况下为“ m_titre”,而不是“ title”。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句