Значение массива быстрого добавления не отображается вне оператора - PullRequest
0 голосов
/ 13 сентября 2018

Мой сценарий из моего вызова get, я получил значения и добавил массив var nameData = [String]().Значения массива nameData не отображаются вне оператора.Пожалуйста, проверьте мой код ниже

// Global Declarions
var nameData = [String]()

// GET Call values append
 if let content = result["contacts"] as? [[String:AnyObject]] {
            for category in content {

                self.nameData.append(category["name"] as! String)
            }
            print(self.nameData) // here I am getting
        }
    }
   self.addDropDown()
   print(self.nameData) // Empty array showing

Теперь, мой раскрывающийся код ниже, Здесь я хочу назначить nameData массив

func addDropDown(){

   print(self.nameData) // Empty array showing why???

        // For Top textField
        let dropDownTop = VPAutoComplete()
        dropDownTop.dataSource =  self.nameData           -->// Here I need to assign nameData values if i do its showing empty values.
        dropDownTop.onTextField = emailTF
        dropDownTop.onView = self.view
        dropDownTop.show { (str, index) in
            print("string : \(str) and Index : \(index)")
            self.emailTF.text = str
        }
}

1 Ответ

0 голосов
/ 13 сентября 2018

Попробуйте это:

if let content = result["contacts"] as? [[String:AnyObject]] {
        for category in content {
            self.nameData.append(category["name"] as! String)
        }
        DispatchQueue.main.async { self.addDropDown() } 
    }
}

Добавьте раскрывающийся список сразу после заполнения массива nameData.

...