对象属性nil,尽管为其赋值



我有以下类:

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)

如果listOfEventsEvent对象的数组,您可以执行:

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
    selectedEvent = listOfEvents[indexPath.row]
}

最新更新