Ios 比较数组中的数字
我有一个名为samples的核心数据对象数组,每个sample都有depthFrom和depthTo。我将每个示例加载到tableView中,以显示depthFrom和。我需要检查值之间的差距,如果有,插入一个新的样本 表中的样本可以如下所示,带有depthFrom和depthTo 问题在于,从100到210的数字之间存在差距,应将新样本添加到表格中。尽可能多地使用50的间隙,以便在自动生成样本时看起来像这样 我不确定的是如何比较这些值,我宁愿在调用cellforrowatinexpath之前加载视图,这样就不需要再次重新加载表。我想循环遍历每个值并比较它们,但它们都在同一个数组中,所以我不确定我将如何做到这一点。我在我的应用程序中正确显示了所有数据,这只是我需要说明的差距,如果我能够找到一种方法来比较数组中的值,那么我可以管理添加新对象,我只需要指向正确的方向,因为这对我来说是新的Ios 比较数组中的数字,ios,Ios,我有一个名为samples的核心数据对象数组,每个sample都有depthFrom和depthTo。我将每个示例加载到tableView中,以显示depthFrom和。我需要检查值之间的差距,如果有,插入一个新的样本 表中的样本可以如下所示,带有depthFrom和depthTo 问题在于,从100到210的数字之间存在差距,应将新样本添加到表格中。尽可能多地使用50的间隙,以便在自动生成样本时看起来像这样 我不确定的是如何比较这些值,我宁愿在调用cellforrowatinexpath之
如果我的问题有任何令人困惑的地方,那么只需添加一条注释,我会相应地更新它,谢谢您的帮助。若要修复差距,您必须跟踪最后一个
深度,并检查它与当前示例之间是否有差距。如果有,插入间隔为50*的样品,直到我们获得当前样品
下面是一个伪代码解决方案:
samples = NSMutableArray
int lastDepthTo = 0;
for (i = 0; i < [samples count]; i++) {
s = samples[i]
// add missing samples (upto current s.depthFrom)
while (s.depthFrom > lastDepthTo) {
genDepthTo = MIN(d.depthFrom, lastDepthTo+50)
generated = new sample(depthFrom: lastDepthTo, depthTo: genDepthTo)
[samples insert:generated atIndex:i]
i++ // increment i to skip inserted sample
lastDepthTo = genDepthTo
}
lastDepthTo = s.depthTo
}
samples=NSMutableArray
int lastDepthTo=0;
对于(i=0;i<[样本计数];i++){
s=样品[i]
//添加缺失样本(截至当前s.depthFrom)
而(s.depthFrom>lastDepthTo){
genDepthTo=最小值(d.depthFrom,lastDepthTo+50)
生成=新样本(depthFrom:lastDepthTo,depthTo:genDepthTo)
[样本插入:生成索引:i]
i++//递增i以跳过插入的样本
lastDepthTo=genDepthTo
}
lastDepthTo=s.depthTo
}
注意:这是未测试的,对于i的索引,可能会被1关闭。看起来像一个for循环,同时跟踪最后一个depthTo
并与当前depthFrom
进行比较。你能告诉我你是如何解决这个问题的吗?这正是我需要的,谢谢。