我一直有这个错误,我不知道如何解决它.
“无法使用'(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’所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)