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

Swift移除类内函数类型数组元素时遇报错的技术求助

解决Swift数组remove(at:)出现“Expression resolves to an unused function”错误

这个错误其实很好理解——Array.remove(at:)方法会返回被移除的元素,而Swift编译器会严格检查未使用的返回值,当你直接调用这个方法却不处理它的返回结果时,就会抛出这个提示。

针对你的场景,这里有两种简单的解决方式:

1. 忽略返回值(如果你不需要被移除的函数)

如果你不需要用到被删掉的那个生成[UIBezierPath]的函数,可以用下划线_来显式告诉编译器你故意忽略返回值:

_ = actualFormNamesFromFormClass.remove(at: i)

2. 保留返回值(如果你需要使用被移除的函数)

如果之后还要用到被移除的那个表单函数,直接把它赋值给一个变量就好:

// 移除并保存被删除的函数
let removedFormGenerator = actualFormNamesFromFormClass.remove(at: i)
// 后续可以调用这个函数生成路径数组
let bezierPaths = removedFormGenerator()

另外还要额外提醒一句:调用remove(at:)前一定要确保索引i是合法的(也就是0 <= i < actualFormNamesFromFormClass.count),否则会触发数组越界的运行时崩溃,这个坑可别踩哦!

内容的提问来源于stack exchange,提问作者Thijs van der Heijden

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 06:33:58