解析/Swift-“;任何对象都不能转换为字符串
我试图用解析/Swift-“;任何对象都不能转换为字符串,swift,parse-platform,Swift,Parse Platform,我试图用PFObjects数组中的项填充表视图: var obj: PFObject = self.usersArray[indexPath.row] cell.textLabel?.text = obj.objectForKey("username") 但是如果我这样做,我会得到编译器错误:“AnyObject不能转换为String” 这就是我一直使用Objective-C的方式,我如何解决这个问题?您需要显式强制转换以避免此错误: cell.textLabel?.text = obj.
PFObjects
数组中的项填充表视图:
var obj: PFObject = self.usersArray[indexPath.row]
cell.textLabel?.text = obj.objectForKey("username")
但是如果我这样做,我会得到编译器错误:“AnyObject不能转换为String”这就是我一直使用Objective-C的方式,我如何解决这个问题?您需要显式强制转换以避免此错误:
cell.textLabel?.text = obj.objectForKey("username") as String
这是因为
obj.objectForKey(…)
返回类型为AnyObject
的对象,Swift不允许将其隐式转换为另一种类型,而Objective-C允许(假设必须在Objective-C中编写(NSString*)
obj.objectForKey(…)
).您需要显式强制转换以避免此错误:
cell.textLabel?.text = obj.objectForKey("username") as String
这是因为
obj.objectForKey(…)
返回类型为AnyObject
的对象,Swift不允许将其隐式转换为另一种类型,而Objective-C允许(假设必须在Objective-C中编写(NSString*)
obj.objectForKey(…)
).您需要显式强制转换以避免此错误:
cell.textLabel?.text = obj.objectForKey("username") as String
这是因为
obj.objectForKey(…)
返回类型为AnyObject
的对象,Swift不允许将其隐式转换为另一种类型,而Objective-C允许(假设必须在Objective-C中编写(NSString*)
obj.objectForKey(…)
).您需要显式强制转换以避免此错误:
cell.textLabel?.text = obj.objectForKey("username") as String
这是因为
obj.objectForKey(…)
返回类型为AnyObject
的对象,Swift不允许将其隐式转换为另一种类型,而Objective-C允许(假设必须在Objective-C中编写(NSString*)
obj.objectForKey(…)
).为什么不以更简单的方式编写代码,并停止使用objectForKey
。在最新的Parse
库中,PFObject
支持使用[]
符号()直接访问自定义对象的属性
还有,为什么textLabel是可选的?你应该在使用前把它拆开。因此,将?
替换为如果textlab
未声明为可选项,则将其完全删除
基本上,您的代码可以如下所示:
var obj: PFObject = self.usersArray[indexPath.row]
cell.textLabel!.text = obj["username"] as NSString // Remove ! if textLabel is not an optional
让我知道这是否适合您。为什么不以更简单的方式编写代码,并停止使用objectForKey
。在最新的Parse
库中,PFObject
支持使用[]
符号()直接访问自定义对象的属性
还有,为什么textLabel是可选的?你应该在使用前把它拆开。因此,将?
替换为如果textlab
未声明为可选项,则将其完全删除
基本上,您的代码可以如下所示:
var obj: PFObject = self.usersArray[indexPath.row]
cell.textLabel!.text = obj["username"] as NSString // Remove ! if textLabel is not an optional
让我知道这是否适合您。为什么不以更简单的方式编写代码,并停止使用objectForKey
。在最新的Parse
库中,PFObject
支持使用[]
符号()直接访问自定义对象的属性
还有,为什么textLabel是可选的?你应该在使用前把它拆开。因此,将?
替换为如果textlab
未声明为可选项,则将其完全删除
基本上,您的代码可以如下所示:
var obj: PFObject = self.usersArray[indexPath.row]
cell.textLabel!.text = obj["username"] as NSString // Remove ! if textLabel is not an optional
让我知道这是否适合您。为什么不以更简单的方式编写代码,并停止使用objectForKey
。在最新的Parse
库中,PFObject
支持使用[]
符号()直接访问自定义对象的属性
还有,为什么textLabel是可选的?你应该在使用前把它拆开。因此,将?
替换为如果textlab
未声明为可选项,则将其完全删除
基本上,您的代码可以如下所示:
var obj: PFObject = self.usersArray[indexPath.row]
cell.textLabel!.text = obj["username"] as NSString // Remove ! if textLabel is not an optional
让我知道这是否适用于您。与您的问题无关,但您可以使用obj[“用户名”]
的较短语法,而不是与您的问题无关的obj.objectForKey(“用户名”)
:),但您可以使用obj[“用户名”]
的较短语法,而不是obj.objectForKey(“用户名”)
:)与您的问题无关,但您可以使用obj[“用户名”]
的较短语法代替obj.objectForKey(“用户名”)
:)与您的问题无关,但您可以使用obj[“用户名”]
的较短语法代替obj.objectForKey(“用户名”)
)