无法将对象添加到NSMutableArray

华硕

嗨,大家好,我在尝试Swift和Parse,也许您可​​以在这里给我提示,我不知道为什么我的NSMutableArray typeAccessory总是空的,没有对象,我试图从Parse添加对象。

[编辑]

我试图使用XLForm做一个选择器动作表,该动作表需要一个元素数组,我想将对象从解析作为数组传递给“ row.selectorOptions”。

// XLForm

row = XLFormRowDescriptor(tag :Tags.ActionSheet.rawValue, rowType:XLFormRowDescriptorTypeSelectorActionSheet, title:"Sheet")
        row.selectorOptions = ["Option 1", "Option 2", "Option 3", "Option 4", "Option 5"]
        row.value = "Option 3"
        section.addFormRow(row)

任何的想法?

谢谢

   override func viewDidLoad() {
            super.viewDidLoad()
            // Do any additional setup after loading the view.
            self.navigationItem.rightBarButtonItem = UIBarButtonItem(title: "Add", style: .Plain, target: self, action: "submit:")
            self.loadAccessoryType() //loading function
    }    

    func loadAccessoryType()-> NSMutableArray{
         var typeAccessory:NSMutableArray? = NSMutableArray()
         var query = PFQuery(className:"accessory_type")
         query.selectKeys(["type"])
         query.findObjectsInBackgroundWithBlock {
             (objects: [AnyObject]?, error: NSError?) -> Void in
                if error == nil {
                   if let objects = objects as? [PFObject] {
                        for object in objects{
                            typeAccessory?.addObject(object["type"]!)
                         }
                      }
                   }else{
                        println("No results")
                   }
               }
            return typeAccessory!
}
水果瘾君子

findObjectsInBackgroundWithBlock将异步运行,因此该方法将跳过该代码块并直接进入return typeAccessory一个空数组。考虑使用findObjectsmethod,或者如果您坚持异步执行,请尝试使用回调:

func loadAccessoryType(){
     var typeAccessory : NSMutableArray = NSMutableArray()
     var query = PFQuery(className:"accessory_type")
     query.selectKeys(["type"])
     query.findObjectsInBackgroundWithBlock {
         (objects: [AnyObject]?, error: NSError?) -> Void in
            if error == nil {
               if let objects = objects as? [PFObject] {
                    for object in objects{
                        typeAccessory.addObject(object["type"]!)
                     }
                    self.onAddingObjectsCompleted(typeAccessory)
                  }
               }else{
                    self.onAddingObjectsFailed()
               }
           }

func onAddingObjectsCompleted(data : NSMutableArray) { 
//stuff to do when its done
}

func onAddingObjectsFailed() { 
//stuff to do when it failed
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章