I am starting work in Swift, and I am moving the application to Swift 3.0
I have such a mistake, and I have no idea how to solve it.
"Cannot invoke 'value' using argument list of type '(String)'"
It is displayed in almost every line of this fragment. You do not know where it came from? Many thanks
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
}
}
According to the message information requested here
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
Here is even more information.
// 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
}
source
share