collat​​ionStringSelector错误:无法识别的选择器

时间:2015-03-25 20:33:56

标签: ios swift

我正在尝试在我的应用程序中实现按字母顺序排列的部分来学习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
    }

这是我的班级" 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:我很抱歉,如果我的英语不完美,不是我的母语,我希望尽管如此,你会毫无困难地理解

1 个答案:

答案 0 :(得分:3)

选择器使用Objective-C消息传递,因此属性必须是 " Objective-C兼容"。实现这一目标的最简单方法是制作你的 class NSObject的子类:

class Cours : NSObject {
    // ...
}

当然,选择器必须与您的房产名称相匹配 case" m_titre"而不是" title"。