繁体   English   中英

在Parse和SWIFT中从数组检索和转换数据

[英]Retrieving and casting data from an array in Parse and SWIFT

当我尝试检索并将Parse中的数组元素附加到代码中创建的数组时,总是显示此错误:

无法将类型'__NSArrayM'(0x10b281b60)的值强制转换为'NSString'(0x10bdc5b48)。

但是,当我使用打印时,它可以正常工作并且可以获取数据

 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()
     }
}

图片更多细节

从你说的:

  1. self.datesString类型的String
  2. object.valueForKey("timeToShow")是类型为String的数组
  3. 您想将object.valueForKey("timeToShow")的值附加到self.dates的末尾

因此,除了强制转换为String并尝试附加之外,您还需要附加数组的所有值(请注意,这取决于您使用的Swift版本):

let times = object.valueForKey("timeToShow") as! [String]
self.dates += times 

// Or:
self.dates.extend(times) // Swift 1.2
self.dates.appendContentsOf(btimes) // Swift 2
self.dates.append(contentsOf: times) // Swift 3

将一个数组附加到从此StackOverflow示例获取的另一个数组中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM