【问题标题】:IOS - Convert from NSSet to NSMutableSet [closed]IOS - 从 NSSet 转换为 NSMutableSet [关闭]
【发布时间】:2018-06-17 02:30:57
【问题描述】:

给定一个 NSSet 获取具有相同对象的 NSMutableSet 的最佳方法是什么?

如果你有一个 NSSet 的实例,那么用这些相同的对象获取一个 NSMutable 集的最高效和最简单的方法是什么?

【问题讨论】:

  • 您可以从 NSSet 对象获取可变副本并将其类型转换为 NSMutableSet let mutableObject = set.mutableCopy() as? NSMutableSet
  • @dfd 我的意思是他们在询问如何从NSArray 转换为NSMutableArray,每个人都认为这是一个好问题。例如stackoverflow.com/questions/25900567/…。这家伙问了这样的问题Convert from NSSet to NSMutableSet。完全没问题。我的答案不是仅代码的答案。你可以再检查一下
  • @AndrewPaulSimmons 这是 Objective-C 中的常见模式;在apeth.com/iOSBook/ch10.html#_immutable_and_mutable查看我的解释
  • 有很多方法可以做到这一点。我觉得很难找到最好的方法。我认为这个问题很有帮助,下面@trungduc 的回答很好。 (但是,如果反对票低于 10,我将删除此问题。)

标签: objective-c swift nsset


【解决方案1】:

有两种方法可以实现。

  • 使用mutableCopy

    Objective-C

    NSMutableSet* mutableSet2 = [YOUR_SET mutableCopy];
    

    斯威夫特

    let mutableSet = YOUR_SET.mutableCopy()
    
  • 使用setWithSet:

    Objective-C

    NSMutableSet* mutableSet = [NSMutableSet setWithSet:YOUR_SET];
    

    斯威夫特

    let mutableSet = NSMutableSet.init(set: YOUR_SET)
    

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-29
    • 2021-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-08
    相关资源
    最近更新 更多