【问题标题】:Equivalent of Java ArrayList in Objective-CObjective-C 中 Java ArrayList 的等价物
【发布时间】:2016-05-30 12:35:18
【问题描述】:

在 Objective-C 中相当于List<Products> cartProduct = new ArrayList();。我使用了 NSMutableArray,但这与 Java ArrayList 不同。

【问题讨论】:

  • 有什么不同?你想做什么NSMutableArray 做不到?
  • 我想用 NSMUtableArray 来收集怎么可能
  • NSMutableArray arr = [NSMutableArray array]; 然后[arr addObject:thing]; 这不是您要找的吗?
  • Obj-C 中没有泛型,因此您的问题无关紧要。如果你想使用泛型集合,你应该转向 Swift。
  • @orxelm 谢谢我喜欢你的回答

标签: java ios objective-c generics collections


【解决方案1】:

在我看来,Java ArrayLists 使用泛型。

Objective-C 并不真正支持泛型。 (Swift 可以。你可能想改用 Swift。)

Objective-C 的集合类(NSArrayNSMutableArray)是异构的。它们可以包含不同类型的对象的混合。但是,该语言最近添加了一层非常薄的通用支持。

你会使用这样的语法:

NSMutableArray <Products *> *cartProduct;

该语法仅添加编译时类型检查。它告诉编译器cartProduct 是一个可变数组,它应该只包含Products 类型的对象,所以当你从数组中添加/获取其他类型的对象时会收到警告,但数组仍然会获取任何对象在运行时键入。

我发现this link 解释了有关 Objective-C 对泛型的“轻量级”支持的更多信息。它看起来很清楚,写得很好。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    • 2010-11-03
    • 1970-01-01
    • 2022-12-08
    • 2011-07-21
    • 1970-01-01
    相关资源
    最近更新 更多