id<UIView> views = @[one, two, three];
NSInteger object = [views lastObject]; // Compiler will warn me that `views` stores only UIViews
我必须执行多远?有人有扩展clang以支持类似功能的经验吗?
类似:nsmutablearray-force-the-array-to-hold-specific-object-type-only
id<UIView> views = @[one, two, three];
NSInteger object = [views lastObject]; // Compiler will warn me that `views` stores only UIViews
我必须执行多远?有人有扩展clang以支持类似功能的经验吗?
类似:nsmutablearray-force-the-array-to-hold-specific-object-type-only
我也考虑过这一点,尽管最后我问它真的会让我更有效率。在我看来,Objective-C 是一种非常实用的语言,它的特性在现实世界中很有用,块之类的东西非常有用,但在我的经验中,命名空间和类型化数组之类的特性并没有那么多。我在我的代码中添加了很多 NSAssert 来检查类似的东西。通常我的可变集合包含在其他类中,所以我对可以添加到它们的内容有很多控制,但也许这是我采用的一种模式,因为我没有类型化的集合?
好吧,从技术上讲,您已经可以...
UIView *views[] = {one, two, three};
NSInteger object = views[2];
或者,更有用的是,您可以使用 Objective-C++。