Swift 中从 Parse 到 UIPickerView 的数据缺失

Missing data from Parse to UIPickerView in Swift

我已经从 class 名为 'Timetable' 的 Parse 传递数据,数据将从名为 'Intake' 的列名中获取。选择器视图能够从中获取数据,但是仍然有很多数据丢失,没有显示在选择器视图中。有谁知道这是什么问题吗?

***我已将 uipickerview 委托和数据源指向 self

代码如下所示...

var pickerString:NSMutableArray = []

    override func viewDidLoad() {
        super.viewDidLoad()
        var query = PFQuery(className: "Timetable")
        query.findObjectsInBackgroundWithBlock
            {
                (objects:[AnyObject]?, error:NSError?) -> Void in
                if error == nil
                {
                    for object in objects! as [AnyObject]
                    {
                        if !self.pickerString.containsObject(object["Intake"] as! String) {
                            self.pickerString.addObject(object["Intake"] as! String)
                            //to avoid the duplication of the same data in picker view
                        }
                    }
                    self.pvIntakeCode.reloadAllComponents()
                }
                else
                {
                    NSLog("Error: %@ %@", error!, error!.userInfo!)
                }
        }

这些是选择器视图的数据源和委托函数,如下所示...

func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int
    {
        return 1
    }

    // returns the # of rows in each component..
    func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int
    {
        return self.pickerString.count
    }


    func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String!
    {
        return self.pickerString[row] as! String
    }

您可以添加此代码以最大化从 Parse 到数组中的对象数量。

var limit:NSInteger = 1000
        var skip:NSInteger = 0
        query.limit = limit
        query.skip = skip