我有一个用例,我根据某些条件在UIToolbar中添加和删除UIBarButtonItems。我的iOS11之前的模式是保留对它们的强引用,并使用removeObject:
将它们从toolbar.items.mutableCopy
数组中删除,然后使用该变异数组设置toolbar.items
。
使用iOS11,removeObject:
从阵列中移除所有的FlexibleSpace对象,而不仅仅是我持有强引用的那个。似乎isEqual
方法现在使用值比较而不是指针比较。
我的解决方法是手动跟踪数组中项目的位置,并按索引删除它们。
我的问题是:有没有其他人经历过这种情况,这是否记录在任何地方?如果是这样,你的解决方法是什么?
干杯!