【问题标题】:Value of type PFObject has no member after updating to Xcode 7PFObject 类型的值在更新到 Xcode 7 后没有成员
【发布时间】:2015-09-21 13:58:02
【问题描述】:

在我将 Xcode 更新到 7.0(和 Swift 2.0)后,我的应用不再接受我的 Parse 语句之一。我有一个标准的 Parse 查询。在该查询中,我有以下代码块:

for user in users! {
                            if !contains(accepted, user.username) && !contains(rejected, user.username){

                                self.usernames.append(user.username)
                                self.users.append(user as! PFUser)

                                if let data = user["image"] as? NSData {
                                    self.userImages.append(data)
                                }
                            }

在上面的代码中,user.username 出现以下错误:

Value of type 'PFObject' has no member 'username'

我尝试删除/读取 Parse SDK,但没有成功。我什至编辑了 PFObject.h 头文件(我在另一篇 SO 帖子中找到的解决方案),但这也不起作用。有任何想法吗? Parse SDK 的实现是否随着 Xcode 7 的变化而改变?我错过了什么吗?

谢谢!!

编辑:完整代码的要点: https://gist.github.com/jtansley/6c2bb4b8cb82459b8c10

【问题讨论】:

  • 好像你的usersPFObjects 的集合,而不是PFUsers
  • 感谢您的回复!我将集合初始化为 PFUser。我怎样才能解决这个问题?不知道为什么它将其视为 PFObject。在此处查看完整要点:gist.github.com/jtansley/6c2bb4b8cb82459b8c10
  • 我不是 Swift 专家,但看看我下面的回答是否有帮助。

标签: ios swift parse-platform swift2 xcode7


【解决方案1】:

尝试以下方法:

if let users = users as? [PFUser] {
  for user in users {
    ...
  }
}

更新:

类似于以下内容:

if !accepted.contains(user.username) && !rejected.contains(user.username)

【讨论】:

  • 我认为这可能有效,但不确定。我在 ` if !contains(accepted, user.username!) && !contains(rejected, user.username!). I get error 'contains' in available: call the 'contains()' method on序列`。知道这意味着什么吗?
  • 在查看此答案 stackoverflow.com/questions/30839733/… 后尝试将其更改为 user.contains(accepted, user.username) 但仍然没有运气,表示 PFUser 没有成员“包含”
  • Cannot invoke 'contains' with an argument list of type ([String],String)'。我会接受这个答案,因为我认为您解决了原始问题。就好像现在我发现了越来越多的过时代码问题,因为 Xcode 7 已经过时了
  • 似乎您将两个参数传递给contains 函数。请参阅我的答案的更新。
猜你喜欢
  • 2021-07-31
  • 2019-08-14
  • 2021-01-05
  • 2019-07-25
  • 1970-01-01
  • 1970-01-01
  • 2017-01-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多