简单的问题,
只是为了好玩。
我想创建一个类别或类似,“子类化”FOR循环,在obectivec中创建 FOREACH ,或制作自定义循环。
好的,FOR循环不是一个类,我们不能创建一个类或子类。我们知道。
我可以使用for (MyObj *obj in _MyArray ) { }
,但我不想要
我想这样做:
foreach (MyObj *obj in _MyArray) { }
或者更好的自定义FOR循环,使得与经典FOR循环不同的东西。
注意:不想要宏/定义。
建议?
是否可以制作类似的东西?
感谢downvote,特别是没有评论! 如果您不喜欢这个问题或者这个问题没有回复,请忽略它,或者更好地发表评论!
答案 0 :(得分:4)
“for”不是一个类,你不能将它子类化。
Obj-C确实有一个for..in语法,您可以将其用于您描述的情况。它看起来像这样:
for (MyObj *obj in _MyArray)
{
...
}
答案 1 :(得分:2)
#define foreach for
foreach (MyObj *obj in _MyArray) { }
答案 2 :(得分:1)
您应该查看LLVM Clang以及如何扩展语言分析器。如果你不想使用宏,那就是你要走的路。
答案 3 :(得分:1)
for (MyObj *obj in _MyArray ) { }
就是你所需要的。