模态创建类对象和设置值

时间:2016-03-06 21:12:22

标签: ios swift oop

你好这个问题更关心的是编程问题而不是特定的语言语法。在类对象中设置值后,我得到一个nil user_id值。所以我在这里做错了什么

我有两节课。 用户旅行

Trip.swift

class Trip: NSObject {


    var tripID: Int?
    var tripTitle: String?
    var user:User?


    var params: [String:NSObject] {
        return [
            "user_id": self.user!.userID!,
            "trip_title": self.tripTitle!,
        ]
    }

当我将这些params发送到服务器时,我得到一个零值user_id

 var trip: Trip?
 trip?.user?.userID = 9

我不是在编写完整的代码。我认为我在模态类中做错了或者没有正确设置userID。如果你不能从这个信息中找出问题,请告诉我,所以我会在这里发布完整的代码

class User: NSObject {

    var userID: Int?
    var email: String?
    var password: String?
    var firstName: String?
    var lastName: String?



    var params: [String:NSObject] {
        return [
            "email": self.email!,
            "password": self.password!,
            "first_name": self.firstName!,
            "last_name": self.lastName!,



        ]
    }

1 个答案:

答案 0 :(得分:1)

如果两个类中的所有数据在现实生活中始终是强制性的,那么

  1. 您应不指定这些属性为可选。
  2. 这会强制您编写正确的初始化程序然后
  3. 您将强制使用正确的值填充每个对象,而
  4. 在您发送到服务器之前,
  5. 会导致放弃 强制解包的需要。
  6. 执行这些步骤可以解决您的问题。

    奖金建议:您不必从NSObject继承。不要继承任何东西。这里的一切都可以使用swift标准库。然后字典将使用AnyObject作为值。