【问题标题】:Type 'Like' has no subscript member?类型“Like”没有下标成员?
【发布时间】:2018-06-16 23:42:32
【问题描述】:

我有 2 个自定义类。我正在尝试将 Like 类中的 likes 字典的值分配给 Post 类的 likes 属性的值。但我得到了:

类型“喜欢”没有下标成员

class Like {
    var likes: Dictionary<String, Any>?
    var userUid: String?
}

extension Like {

    static func transfromLikes(dictionary: [String : Any]) -> Like {

        let like = Like()

        like.likes = dictionary["likes"] as? Dictionary<String, Any>
        like.userUid = dictionary["userUid"] as? String

        return like
    }
}

class Post {

   var id           : String?
   var title        : String?
   var content      : String?
   var userUid      : String?
   var isLiked      : Bool? = false
   var likes        : Like?
   var likesCount   : Int?
}

extension Post {

    static func transformDataToImagePost (dictionary: [String : Any], key: String) -> Post {
        let post = Post()
        let like = Like()
        post.id        = key
        post.userUid   = dictionary["userUid"] as? String
        post.title     = dictionary["title"] as? String
        post.likes     = like.likes?["likes"] as? Like

        if let currentUserId = Api.Users.CURRENT_USER?.uid {
            if post.likesCount != nil {
                post.isLiked = post.likes?[currentUserId] != nil // this is the error
            }
        }
        return post
    }

【问题讨论】:

  • post.likes?.likes[currentUserId]
  • 呃,是的!就是这样。请将其添加为答案,以便我批准并关闭问题!谢谢

标签: swift xcode class subscript


【解决方案1】:

post.likes 的类型为 Like?。您需要在下标之前添加属性likes

post.isLiked = post.likes?.likes?[currentUserId] != nil

【讨论】:

    猜你喜欢
    • 2021-06-05
    • 2016-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多