- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在为一个要转换为 Xcode 7 的应用程序使用解析框架。作为迁移项目的一部分发生的有趣错误之一如下:
Cast from 'MDLMaterialProperty?!' to unrelated type 'PFUser' always fails
违规行似乎是下面的“if let”子句。为了比较,我已经评论了在以前版本的 Swift 中运行良好的旧行。
关于这实际上在做什么——我已经将一个 Parse 对象数组传递给“likesForThankful”,其中指针“userID”指的是相关的 PFUser。作为此方法的一部分,我将各个 PFUsers 写入数组。
感谢任何帮助 - 提前致谢。
//Add PFUsers who Like Post to our FeedItem
private func callbackFromLikesProcessing(likesForThankful:[AnyObject], againstFeedItem:FeedItem){
//Instantiate our Objective C compatible array for processing later
againstFeedItem.parseUsersObjectsWhoLikePost = NSMutableArray()
//Loop through likes and add PFUsers to array of users who like post
for usersWhoLikePost in likesForThankful{
// if let parseUserWhoLikesPost = usersWhoLikePost["userID"] as PFUser{
if let parseUserWhoLikesPost = usersWhoLikePost["userID"] as? PFUser {
againstFeedItem.parseUsersObjectsWhoLikePost.addObject(parseUserWhoLikesPost)
}
}
安德鲁
最佳答案
想出它是否可以帮助任何人 - 这是基本的 Swift 语法(虽然我不确定为什么编译器让我在 Swift 的第一个版本中摆脱它!)。
因为 usersWhoLikePost 是一个 PFObject,它恰好包含一个指向 PFUser 对象的指针,所以我需要先像这样有条件地解包它:
for usersWhoLikePost in likesForThankful{
if let parseLikeObject = usersWhoLikePost as? PFObject{
if let parseUserWhoLikesPost = parseLikeObject["userID"] as? PFUser {
againstFeedItem.parseUsersObjectsWhoLikePost.addObject(parseUserWhoLikesPost)
}
}
}
在此之后,我可以像之前那样继续操作,并通过有条件地展开 PFUser 对象来访问“userID”属性。
关于ios - 从 'MDLMaterialProperty?!' 转换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32500626/
我正在为一个要转换为 Xcode 7 的应用程序使用解析框架。作为迁移项目的一部分发生的有趣错误之一如下: Cast from 'MDLMaterialProperty?!' to unrelated
我已经将我的 Xcode 6.4 项目更新为 Xcode 7,但它有这个问题... class func preparationForSave(text_country: NSDictionary){
我是一名优秀的程序员,十分优秀!