id<UIView> views = @[one, two, three];
NSInteger object = [views lastObject]; // Compiler will warn me that `views` stores only UIViews我还需要走多远才能实现它?有没有人有扩展clang以支持类似功能的经验?
Similar: nsmutablearray-force-the-array-to-hold-specific-object-type-only
发布于 2013-04-20 08:48:07
我也考虑过这一点,尽管最后我问它是否真的会让我更有效率。在我看来,Objective-C似乎是一种非常实用的语言,它的特性在现实世界中很有用,像块这样的东西非常有用,但在我的经验中,像命名空间和类型化数组这样的特性就不那么有用了。我在代码中添加了很多NSAssert来检查类似的东西。通常,我的可变集合包含在其他类中,因此我可以很好地控制可以添加到它们中的内容,但也许这是我采用的模式,因为我没有类型化的集合?
发布于 2013-04-20 10:36:58
从技术上讲你已经可以..。
UIView *views[] = {one, two, three};
NSInteger object = views[2]; 或者,更有用的是,您可以使用Objective-C++。
https://stackoverflow.com/questions/16115324
复制相似问题