Пусть говорят, у меня есть 2 пакета в общеймассив Вставка данных
"Базовый пакет" & "Advance Package".
И два вида. Первый показывает текущий пакет, а другой показывает доступные пакеты.
Eg.Let мой текущий план будет основным пакетом, и я переключился на Advance Package.So. В текущем пакете будет пакет Advance, а доступными планами будет Основной пакет. Этот пакет коммутаторов 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()
}
Процесс очищен. Об обновлении двух видов и значения выбора для выбора, если пользователь хочет изменить пакет.
Любая помощь?
Почему мой доступный пакет [«Основной пакет», «Предварительный пакет»] после переключения пользователя с Basic на Advance. Фактически, это должен быть [«Основной пакет»] в доступной массивеPackage. Любая помощь с моей глупой логикой?
Спасибо, что должен это сделать .. :) –