swift – 无法使用类型'(String)’的参数列表调用’value’

swift – 无法使用类型'(String)’的参数列表调用’value’,第1张

概述我是 Swift的初学者,我正在将应用程序迁移到Swift 3.0 我一直有这个错误,我不知道如何解决它. “无法使用'(String)’类型的参数列表调用’value’” 它几乎显示在此代码段的每一行. 你知道它可能来自哪里吗? 非常感谢 if ((message as AnyObject).value("content") != nil){ stringContent 我是 Swift的初学者,我正在将应用程序迁移到Swift 3.0

我一直有这个错误,我不知道如何解决它.

“无法使用'(String)’类型的参数列表调用’value’”

它几乎显示在此代码段的每一行.
你知道它可能来自哪里吗?
非常感谢

if ((message as AnyObject).value("content") != nil){            stringContent  = (message as AnyObject).value("content") as? String        }        if ((message as AnyObject).value("sender_uuID") != nil){            stringSenderUuID  = (message as AnyObject).value("sender_uuID") as? String        }        if ((message as AnyObject).value("recipIEnt_uuID") != nil){            stringRecipIEntUuID  = (message as AnyObject).value("recipIEnt_uuID") as! String        }        if ((message as AnyObject).value("date") != nil){            if let result_number = (message as AnyObject).value("date") as? NSNumber            {                stringDate = "\(result_number)"            }            else   {                stringDate  = (message as AnyObject).value("date") as! String            }        }

根据要求,这里有关于消息的更多信息

class Messages: Object {dynamic var channel_name = ""dynamic var content = ""dynamic var sender_uuID = ""dynamic var recipIEnt_uuID = ""dynamic var date = ""dynamic var message_uuID = ""overrIDe class func primaryKey() -> String? {    return "message_uuID"}    }    let message = Messages()    message.channel_name=channel_name    message.content=stringContent    message.sender_uuID = stringSenderUuID    message.recipIEnt_uuID = stringRecipIEntUuID    message.date = stringDate    message.message_uuID = stringUuID

这里有更多信息

// initialize with nothing    var stringContent = " "    var stringSenderUuID = " "    var stringRecipIEntUuID = " "    var stringDate = " "    var stringUuID = " "    // We check for existence in the dictionnary    if (message["content"] != nil){         stringContent  = message["content"] as! String    }    if (message["sender_uuID"] != nil){         stringSenderUuID  = message["sender_uuID"] as! String    }    if (message["recipIEnt_uuID"] != nil){         stringRecipIEntUuID  = message["recipIEnt_uuID"] as! String    }    if (message["date"] != nil){        if let result_number = message.value(forKey: "date") as? NSNumber        {            stringDate = "\(result_number)"        }        else   {            stringDate  = message.value(forKey: "date") as! String        }    }    if (message["uuID"] != nil){         stringUuID  = message["uuID"] as! String    }
解决方法 您可能需要将它们更改为(消息为AnyObject).value(forKey:“···”)(添加forKey:标签).

你知道应该是什么样的对象消息吗?反复将它转换为AnyObject是奇怪的.创建一个新变量会更简洁 – 让messageObject = message作为AnyObject,然后调用messageObject.value(forKey:“···”). (我怀疑你真的想把它转换成Dictionary或类似的东西,在这种情况下你可以做messageDictionary [“···”]而不是调用value(forKey :).)

此外,在Swift中,您可以执行此 *** 作以进一步减少冗余:

if let content = messageObject.value(forKey:"content") as? String {  stringContent = content}
总结

以上是内存溢出为你收集整理的swift – 无法使用类型'(String)’的参数列表调用’value’全部内容,希望文章能够帮你解决swift – 无法使用类型'(String)’的参数列表调用’value’所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1006232.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存