我想在Swift App中修改Realm数据库中的模型数据。这是我的代码:
print (pd.DataFrame(np.sort(df.values, axis=1), index=df.index))
0 1 2 3 4 5
0 bob g george jim k neil
1 bob g george jim k neil
2 dan joe k keith pete q
3 dan joe k keith pete q
4 ben ed p richard steve w
5 charlie david graham josh l s
6 bob charlie david jim k s
df1 = pd.DataFrame(np.sort(df.values, axis=1), index=df.index).drop_duplicates()
print (df1)
0 1 2 3 4 5
0 bob g george jim k neil
2 dan joe k keith pete q
4 ben ed p richard steve w
5 charlie david graham josh l s
6 bob charlie david jim k s
df2 = df.loc[df1.index]
print (df2)
forename_1 surname_1 area_1 forename_2 surname_2 area_2
0 george neil g jim bob k
2 pete keith k dan joe q
4 ben steve w richard ed p
5 charlie david s graham josh l
6 charlie david s jim bob k
理念很简单,遍历模型并将isSelected bool属性更改为true。但看起来它不起作用。为什么呢?
答案 0 :(得分:2)
如果要修改原始map
实例,并因此修改存储在Realm中的模型对象,则不应使用Results
。 'map'不是一个变异函数,它遍历你的数组(或者在这种情况下,Results
),对一个序列的每个元素应用一个转换,然后返回一个包含转换结果的新序列。 / p>
你真正需要的是forEach
函数,它只迭代Array
的元素并为每个元素执行闭包,但不返回网Array
。我目前无法对其进行测试,但我forEach
是Array
的成员函数而不是NSFastEnumeration
的成员函数,Results
继承了forEach
,我认为你无法使用Results
实例上的try! realm.write {
for model in realm.objects(CompanyModel.self) {
model.isSelected = true
}
}
,因此您需要使用常规for循环来执行此操作。
let myArray=['1','2','3','4','5','6','7']
function RandomDraw(){
const selectedIndex = Math.floor(Math.random() * myArray.length);
const selected = myArray[selectedIndex]
myArray = myArray.slice(0, selected).concat(myArray.slice(selected + 1));
return selected;
}