讓說我有共同陣列數據插入
「基本服務包」 &「高級套餐」 2包。
和兩個視圖。第一個顯示當前包和另一個顯示可用包。
Eg.Let我目前的計劃將基本包,我切換到Advance Package.So,當前包是Advance Package,可用計劃將是Basic Package.That包Package Async和Get Packages Process將每個時間它的電話。意思是我點擊切換按鈕後,它切換服務器上的包,然後獲得當前包狀態後成功切換包更新兩個視圖。
所以,我真的有問題,我正在使用選擇器視圖來顯示可用的包。但是,切換計劃並獲得最新計劃後,它會在availablePackage上顯示我[「基本包」,「高級包」]。實際上,在當前視圖切換到[「高級套餐」之後,它應該只顯示一個可用套餐[「基本套餐」]。
var basePackage : Results<PlanList>!
var availablePackage : [String] = []
func removeDuplicates(array: [String]) -> [String] {
var encountered = Set<String>()
var result: [String] = []
for value in array {
if encountered.contains(value) {
// Do not add a duplicate element.
}
else {
// Add value to the set.
encountered.insert(value)
// ... Append the value.
result.append(value)
}
}
return result
}
func getLatestAvailablePackages(){
basePackage = realm.objects(PlanList).filter("currentPackage = '0'") // Current Packages 0 means inactive available packages
if basePlan.count > 0{
for var i = 0 ; i < basePlan.count ; i++ { // Getting available packages and insert at switchArray to show at picker
availablePackage.insert(basePackage[i].packageName, atIndex: i)
}
availablePackage = removeDuplicates(availablePackage)
}
}
// After it complete switching plan at server,getting latest plan will do for updating the two views
func didSuccessGettingPlan(results: JSON) {
// Insertion into realm database after it get the packages of user subscribe/"0" means available package and "1" mean current subscribe package.
//self.realmDBHelper.insertPackages(results)
getLatestAvailablePackages()
}
過程很清楚。如果用戶想要更改包,則更新兩個視圖和選擇器值以供選擇。
任何幫助?
爲什麼我的availablePackage在用戶從Basic切換到Advance之後是[「Basic Package」,「Advance Package」]。實際上它應該是availablePackage數組中的[「Basic Package」]。對我的愚蠢邏輯有什麼幫助?
謝謝,應該這樣做.. :) –