GaiZhenbiao/ChuanhuWallpaper

“太阳”和“时间”模式中删除图像会导致 App 崩溃

zhheo opened this issue · 6 comments

zhheo commented

看了一下代码,似乎直接用了remove删数组导致的。
remove删除数组会导致数组数量发生变化,而swiftui视图发生了已有id数量变化导致崩溃。

解决办法:
可以考虑在WallpaperImage添加show属性。如果show为真则显示并添加。删除图片时并不从数组删除图片,而是将show变为false。
当然最后生成的时候需要判断一下show。

上面是传统的解决办法,我也有更好的解决办法,但是都是一些简单的想法。我并没有macOS旧版的机器,无法测试就不提pr了。上面的解决办法是可行的,可以试试。

感谢UP。

好,我试试

更好的解决办法指?能给个链接吗?另外在高版本macOS中运行为macOS 11编译的版本也会有问题,所以不需要低版本macOS也能测试hhh

@zhheo 能重复下复现步骤吗?

zhheo commented

我只是看到下载界面说有这个 bug,所以提一下解决方案罢了> @zhheo 能重复下复现步骤吗?

哦哦好 我明白了

Crash fixed. #7 @GaiZhenbiao