2017-05-31 29 views
0

如何使用我的JSON數據成爲文本字段中的自動填寫。如何使用從JSON數據自動完成Swift

,所以我有一個JSON這個樣子的

[ 
    { 
    "city_name": "City1", 
    "province": "province1" 
    }, 
    { 
    "city_name": "City2", 
    "province": "province2" 
    }, 
    { 
    "city_name": "City3", 
    "province": "province3" 
    }, 
    { 
    "city_name": "City4", 
    "province": "province4" 
    } 
    { //etc } 
] 

該值已經保存到模型。所以如果我必須得到這個json的價值,我只需要調用一個模型。 但是我不知道如何實現一個文本字段,當文本字段是tap時,將會從此json中自動完成。

例如:當我在文本框輸入 「C」 則顯示 「City1,城2,和等」

謝謝

編輯

我需要這個以編程方式。

我已經有一個代碼爲我的文本框

//View 
let fillCity: BaseTextField = { 
     let fillCity = BaseTextField() 
     fillCity.textColor = UIColor().greenColors() 
     return fillCity 
    }() 

BaseTextField是的UITextField只爲下劃線

有點自定義在視圖控制器

//ViewController 
override func viewDidLoad() { 
     super.viewDidLoad() 

     setupViews() 

    } 
private func setupViews(){ 

    mainView = view as! MerchantInformationView 
//other code 
} 
+0

你嘗試過什麼嗎?我發現只有自動完成3party的 – Edu

+0

。我不想使用那個多數民衆贊成爲什麼 – StevenTan

+0

@StevenTan檢查更新的答案.. –

回答

0

相同所做的邏輯後對於textField OnChange事件,您可以使用以下過濾字符串中的字符串:

resultsArray = wholeArray.filter({ (textEntered) -> Bool in 
    let tmp: NSString = text as NSString 
    let range = tmp.range(of: stringWithoutSpaces, options: NSString.CompareOptions.caseInsensitive) 
    return range.location != NSNotFound 
}) 

textEntered - 有關TextField

resultsArray文本是寫 - 與所述濾波的數據

陣列

wholeArray - 與整個數據陣列將被過濾

,然後加入到一個tableView或任何你用來顯示過濾的數據