Smalltalk блокирует в Objective-c?
Поддерживает ли Objective-C блоки блокировки "a la Smalltalk"?
В Smalltalk блоки похожи на "замыкания" или "лямбда-выражения" или "безымянные функции", найденные на других языках.
Ответы
Ответ 1
Да: http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/Blocks/Articles/00_Introduction.html
Из коробки они поддерживаются только в версии Objective-C 2.0, которая поставляется с XCode 3.2 или новее. Это означает, что вам понадобится Snow Leopard, если вы хотите использовать официальные инструменты сборки. Здесь описывается потенциальная работа для 10.5: http://thirdcog.eu/pwcblocks/#leoiphone
Ответ 2
Да,
возьмите этот пример:
[[myString componentsSeparatedByString:@"\n"] enumerateObjectsWithOptions:NSEnumerationConcurrent usingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
NSString *line = (NSString *)obj;
//do what your going to do with line...
}];