Swift “如何纠正错误”;无法将[NSManagedObject]类型的值分配给[String]类型

Swift “如何纠正错误”;无法将[NSManagedObject]类型的值分配给[String]类型,swift,Swift,我已经建立了一个小应用程序,使用核心数据,可以发送短信。现在,在发送sms部分,它不断告诉我以下一个“messageVC.recipients=items”有错误“无法将[NSManagedObject]类型的值分配给[String]类型。items是NSManagedObject的数组并存储电话号码。 我尝试了messageVC.recipients=items.Stringvalue,messageVC.recipients=items as![String],messageVC.recip

我已经建立了一个小应用程序,使用核心数据,可以发送短信。现在,在发送sms部分,它不断告诉我以下一个“messageVC.recipients=items”有错误“无法将[NSManagedObject]类型的值分配给[String]类型。items是NSManagedObject的数组并存储电话号码。 我尝试了messageVC.recipients=items.Stringvalue,messageVC.recipients=items as![String],messageVC.recipients=items.valueforkey[“phonenumeb”]as?String,它无法工作。请帮助。 多谢各位

@iAction func sendCurrentLocSms(发送方:任意对象){


您需要首先获取字符串数组。根据您的实体和NSManagedObject子类(如果有),类似的操作应该可以:

messageVC.recipients = items.map { $0.phonenumber }

感谢MirekE和所有其他专家,下面的代码很有效。我感谢您的帮助。再次感谢

messageVC.recipients=items.map{

        return $0.valueForKey("phonenumber") as! String}

谢谢MirekE。我尝试过你的方式。但是它说“NSManagedObject类型的值没有phonenumber的成员。”我的实体是“Contact”,唯一的属性是“phonenumber”。它是一个字符串var items=[NSManagedObject]()位于MirekE数据库的开头。同样在其他专家的帮助下,以下代码也可以使用。messageVC.recipients=items.map{return$0.valueForKey(“phonenumber”)as!String}
        return $0.valueForKey("phonenumber") as! String}