我发现从NSOrderedSet中删除对象的解决方法是将其从可变副本中删除。在修复XCode的警告之后,这就是我的代码:
let tempSet: NSMutableOrderedSet? = playset!.musicItems!.mutableCopy as? NSMutableOrderedSet
tempSet!.remove(musicItem)
playset!.musicItems = tempSet
但它给我一个错误EXC_BAD_INSTRUCTION。 我该如何解决?
答案 0 :(得分:1)
mutableCopy
是一种方法,必须将其作为方法调用,在其后添加()
:
playset!.musicItems!.mutableCopy() as? NSMutableOrderedSet
您目前正在尝试将方法() -> Any?
转换为NSMutableOrderedSet
,而不是调用该方法的结果。因此警告。
演员表将永远不会成功,tempSet
将始终保持nil
,并在下一个!
时崩溃。