首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从'[PFObject]?‘下载?to '[PFObject]‘仅展开可选参数

从'[PFObject]?‘下载?to '[PFObject]‘仅展开可选参数
EN

Stack Overflow用户
提问于 2015-11-28 21:10:44
回答 1查看 186关注 0票数 0

我正在将一个解析查询保存到一个数组中,但是我把下面的错误放在if let objects = objects as?PFObject

下面的错误从'PFObject?‘开始向下转换。to 'PFObject‘仅展开可选参数。

有人知道怎么解决这个问题吗?

代码语言:javascript
复制
func getArray(funcstring: String){
        
        var userGeoPoint: PFGeoPoint
        PFGeoPoint.geoPointForCurrentLocationInBackground {
            (geoPoint: PFGeoPoint?, error: NSError?) -> Void in
            if error == nil {
        
            userGeoPoint = geoPoint!
            }
        }
        
        
        var searchQuery: [String] = [String]()
        
        var query = PFQuery(className:"User")
        query.whereKey("geoLocation", nearGeoPoint:userGeoPoint)
        query.limit = 100
        query.findObjectsInBackgroundWithBlock {
            (objects: [PFObject]?, error: NSError?) -> Void in
            if error == nil {
                if let objects = objects as? [PFObject] {
                    for object in objects {
                        self.searchQuery.append(object.objectForKey("objectId") as! String)
                        
                    }
                    
                }
            } else {
                print("\(error?.userInfo)")
            }
        }

        
        
        
        
                }

EN

回答 1

Stack Overflow用户

发布于 2015-11-28 21:25:07

objects被声明为[PFObject]?

您将把对象向下转换为编译器已经知道的内容。

只需检查nil

代码语言:javascript
复制
if let unwrappedObjects = objects {
  for object in unwrappedObjects {
     self.searchQuery.append(object.objectForKey("objectId") as! String)    
  }
}

还是“更快”?

代码语言:javascript
复制
if let unwrappedObjects = objects {
   self.searchQuery = unwrappedObjects.map{ $0["objectId"] as! String }   
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33971672

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档