我有以下类:
class Event: NSObject {
var eventID :String!
var name: String!
init(name: String,eventID: String) {
self.eventID = eventID
self.name = name
}
在我看来,我正在使用我的类的一个实例
var selectedEvent: Event?
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
let indexPath = tableView.indexPathForSelectedRow!
print(listOfEvents[indexPath.row].eventID) // print my string
selectedEvent.eventID = listOfEvents[indexPath.row].eventID
print(selectedEvent.eventID) //print nil
}
我做错了什么???感谢的帮助
如果您将代码放入游戏场,您将获得:
线路出现错误
selectedEvent.eventID = listOfEvents[indexPath.row].eventID
因为你的变量selectedEvent是nill,因为你已经声明了它,但没有初始化它
var selectedEvent: Event?
带有
var selectedEvent = Event(name: "YourEventName", eventID: listOfEvents[indexPath.row].eventID)
正如Oleg所提到的。
看看你是对象Event
。它是nill
。
selectedEvent = Event(name: "Test", listOfEvents[indexPath.row].eventID)
如果listOfEvents
是Event
对象的数组,您可以执行:
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
selectedEvent = listOfEvents[indexPath.row]
}