gpt4 book ai didi

ios - 从 'MDLMaterialProperty?!' 转换?

转载 作者:搜寻专家 更新时间:2023-10-31 22:00:19 24 4
gpt4 key购买 nike

我正在为一个要转换为 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com