Objective-C是否支持类Smalltalk的块语法?
在Smalltalk中,块类似于其他语言中的“闭包”、“lambda表达式”或“匿名函数”。
Objective-C是否支持类Smalltalk的块语法?
在Smalltalk中,块类似于其他语言中的“闭包”、“lambda表达式”或“匿名函数”。
开箱即用,块仅支持带有XCode 3.2或更高版本的Objective-C 2.0。这意味着如果您想使用官方的构建工具,则需要雪豹操作系统。关于10.5的一个潜在解决方法在此处介绍:http://thirdcog.eu/pwcblocks/#leoiphone
好的,拿这个例子来说:
[[myString componentsSeparatedByString:@"\n"] enumerateObjectsWithOptions:NSEnumerationConcurrent usingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
NSString *line = (NSString *)obj;
//do what your going to do with line...
}];
id
或 void *
并将其转换为任何你想要的类型。 - Richard J. Ross III