私は現在、2つの配列、1つはrewardsArray、もう1つはexpiredRewardsArrayを持っています。 rewardsArray私は接続するたびに取得されたAPIから取得しています。 expiredRewardsArray私はローカルに保存します。私がしようとしているのは、私がexpiredRewardsArrayのデータと比較したいrewardsArrayデータを取得した後に、viewDidLoadにあることです。一致するものがある場合は、rewardsArrayからアイテムを削除します。これは私がこれまで持っているものですが、それはrewardsArrayから項目を削除していないので、括弧「許可すれば」内には行くことはありません:2つの配列が同じ要素を持っているかどうかを確認する方法と、同じ要素が配列の1つから削除されている場合はどうすればいいですか?
func rewardsMinusExpired() {
expiredRewardsArray = rewardManager.getExpiredRewards()
for expiredReward in expiredRewardsArray {
if let ex = rewardsArray.indexOf(expiredReward){
print("Expired Reward to be removed: \(ex)")
rewardsArray.removeAtIndex(ex)
rewardsTableView.reloadData()
}
}
}
各項目の配列には、IDを持って、私はどうかを確認するためにそれを使用します項目はexpiredRewardsArrayである:
for expiredReward in expiredRewardsArray {
print("This is an expired reward: \(expiredReward.id)")
}
は重要な要素の順序ですか? – Alexander
が報酬の配列にあります。期限が切れた報酬の配列ではありません – SwiftyJD
ああ、私はちょうど順序が問題ではない解決策を投稿しました=/ – Alexander