You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Swift中安全优雅删除自定义数组指定元素及追加元素的方法

嘿,我来帮你梳理一下这两个操作的最佳实现方式,都是Swift里比较优雅且安全的写法:

一、安全优雅地删除数组中firstItem为.example1的元素

这里分两种场景,你可以根据需求选择:

场景1:删除所有匹配的元素

如果你想把数组里所有firstItem为.example1的元素都删掉,用Swift 4.2+新增的removeAll(where:)方法是最简洁安全的——它会自动遍历数组,过滤并删除符合条件的元素,完全不用手动处理索引,避免越界崩溃:

customArray.removeAll { $0.firstItem == .example1 }

场景2:只删除第一个匹配的元素

如果只需要删掉第一个符合条件的元素,就得先找到它的索引,再执行删除。这里一定要用可选值解包来保证安全,避免因为找不到元素而崩溃:

if let targetIndex = customArray.firstIndex(where: { $0.firstItem == .example1 }) {
    customArray.remove(at: targetIndex)
}

firstIndex(where:)会返回第一个匹配元素的索引(可选值),只有当索引存在时,if let才会执行删除操作,非常安全。

二、向数组末尾添加元素

这个操作很直观,Swift提供了几种灵活的写法:

添加单个元素

最常用的就是append(_:)方法,直接把新元素加到数组末尾:

// 先创建一个CustomItem实例(假设你的类有自动生成的成员初始化器)
let newCustomItem = CustomItem(firstItem: .example2, data: "你的数据内容")
customArray.append(newCustomItem)

// 也可以用+=操作符,效果和append完全一样,写法更简洁:
customArray += [newCustomItem]

添加多个元素

如果要一次性加多个元素,用append(contentsOf:)方法效率更高:

let newItems = [
    CustomItem(firstItem: .example1, data: 123),
    CustomItem(firstItem: .example2, data: true)
]
customArray.append(contentsOf: newItems)

内容的提问来源于stack exchange,提问作者jamesCode

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 13:47:46