ios - 数组数据插入

标签 ios arrays

假设我有两个共同的包裹

“基本套餐”和“高级套餐”。

还有两个 View 。第一个显示当前包,另一个显示可用包。

例如,假设我当前的计划是基本包,我切换到高级包。那么,当前包将是高级包,可用计划将是基本包。每次切换包异步和获取包过程都会执行它调用。意味着在我单击切换按钮后,它在服务器上切换包,然后在成功切换包以更新两个 View 后返回当前包状态。

所以,我确实有一个问题,我正在使用选择器 View 来显示可用的包。但是,在切换计划并获得最新计划后,它在可用包中显示 ["Basic Package","Advance Package"]。实际上在当前 View 切换到 ["Advance Package"] 后,它应该只显示一个可用的包 ["Basic Package"]。

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()
}

流程很清楚。如果用户想要更改包,则更新两个 View 和选择器的选择值。

有什么帮助吗?

为什么在用户从 Basic 切换到 Advance 后我的 availablePackage 是 ["Basic Package","Advance Package"]。实际上它应该是 availablePackage 数组中的 ["Basic Package"]。对我的愚蠢逻辑有帮助吗?

最佳答案

func getLatestAvailablePackages() {

        availablePackage.removeAll()
        //...
}

关于ios - 数组数据插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35714755/

相关文章:

c - 数组的单个括号中的嵌套索引

arrays - 如何用函数中的数据填充数组?

javascript - 将日期更改为数组中的月份

arrays - Bash 数组保存

ios - 使用带有自定义键的 KVO

ios - 快速使用 DispatchQueue

ios - 保存 UIViewSubclass 的 Y 位置没有成员命名错误

PHP MYSQL 消除表中的逗号

ios - didFinishNavigation 没有被调用

iphone - 从 AVCaptureAudioDataOutputSampleBufferDelegate 播放音频