【发布时间】:2016-09-12 09:08:59
【问题描述】:
在我将 Swift 1 更新到 Swift 2.0 之后,我遇到了一个问题。
我在此代码的第一行收到以下错误:
无法将方法标记为@objc,因为在Objective-C中无法表示参数的类型
@objc func personsToFirstStep(persons: [Person]) {
for person in persons {
if !self.persons.contains(person) && person.id != userID {
self.persons.append(person)
}
}
collectionView.reloadData()
collectionViewPlaceholder.hidden = true
collectionView.hidden = false
collectionGradientView.hidden = false
}
这个这个Person类:
class Person: Hashable {
var intID: Int = 0
var id: String = ""
var name: String = ""
var type: String = ""
var hashValue: Int {
return self.intID
}
init(id: String, name: String, type: String) {
self.id = id
self.intID = Int(id)!
self.name = name
self.type = type
}
}
func ==(lhs: Person, rhs: Person) -> Bool {
return lhs.intID == rhs.intID
}
【问题讨论】:
-
Person可以继承NSObject吗?
-
Person是什么?也请edit your question 提供您的代码,而不是将其作为评论或屏幕截图发布。屏幕截图有助于显示问题所在,但绝不应替代实际代码——因为外部链接可能会中断,其他人无法轻松使用它。 -
人是一类)
-
Person 必须继承自 NSObject!
标签: swift