代码之家  ›  专栏  ›  技术社区  ›  Dani iman kazemayni

类型“like”没有下标成员?

  •  0
  • Dani iman kazemayni  · 技术社区  · 7 年前

    我有两个定制课程。我正试图赋予 likes 词典来源 Like 类的值 喜欢 的属性 Post 类。但我得到:

    类型“like”没有下标成员

    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
        }
    
    1 回复  |  直到 7 年前
        1
  •  1
  •   vacawama    7 年前

    post.likes 属于类型 Like? .您需要添加属性 likes 在订阅之前:

    post.isLiked = post.likes?.likes?[currentUserId] != nil
    
    推荐文章