Skip to main content
 首页 » 操作系统

ios之collationStringSelector 错误 : Unrecognized selector

2024年01月01日59birdshome

我正在尝试在我的应用程序中实现按字母顺序排列的部分来学习 Swift。 我发现本教程对我有帮助:http://www.pumpmybicep.com/2014/07/04/uitableview-sectioning-and-indexing/

首先,我将该类与 UITableViewController 类分开,以提高可读性。

但是我在 collat​​ionStringCollector 上有一个错误,它不识别“m_titre”,我不明白 collat​​ionStringSelector 是如何工作的,所以,如何使用它。

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)“类(class)”

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”而不是“标题”。