【发布时间】:2017-01-09 20:57:33
【问题描述】:
当我尝试检索 Parse 中的数组元素并将其附加到代码中创建的数组时,总是会出现此错误:
无法将“__NSArrayM”(0x10b281b60)类型的值转换为“NSString” (0x10bdc5b48)。
但是,当我使用 print 时,它可以正常工作并且我可以获取数据
var query = PFQuery(className: "Courses")
query.whereKey("subject", equalTo: "\((object["course"] as! String))")
query.findObjectsInBackgroundWithBlock { (objects, error) in
if let objects = objects
{
for object in objects
{
print(object["subject"] as! String)
self.courses.append(object["subject"] as! String)
print(object.valueForKey("timeToShow")!)
// it works to print the elemnts in array from parse self.dates.append((object.valueForKey("timeToShow") as! String))
// this line shows the error down !
self.tableView.reloadData()
}
}
【问题讨论】:
-
你在哪一行得到错误?
-
这一行 self.courses.append(object["subject"] as!String)
-
self.courses 的定义是什么?它是一个字符串数组吗?因为
object["subject']显然是一个数组(如打印语句所示),所以这不起作用。 -
(object["subject"]) 不是交易它被定义为字符串 self.dates.append((object.valueForKey("timeToShow") as!String)) 是问题日期被定义为字符串数组,我想从解析数组中检索,我想将它们附加到日期,这又是一个字符串数组
-
object["subject"]怎么不是问题,你说那是错误发生的地方..
标签: ios arrays swift heroku parse-platform