Я не считаю хорошей идеей запускать код Python из NodeJS. Если вы по какой-либо причине вынуждены это сделать, вам, вероятно, необходимо вызвать скрипт Python в дочернем процессе (см., Например, , эту статью ).
В качестве альтернативы, вы можете использовать что-то вроде Scrapyrt , которое предоставляет HTTP API для вашего проекта Scrapy и предоставляет возможность скребка по требованию.
Тем не менее, наилучшим вариантом, по-видимому, является использование некоторого нативного решения для очистки JavaScript, такого как Apify .
В настоящее время нет способа сделать это в Objective-C. Apple опубликовала некоторые работы, посвященные их усилиям по добавлению в язык блоков (действительно больше похожих на лямбда-замыкания, чем анонимные классы). С ними вы, вероятно, сможете сделать что-то похожее на анонимный делегат.
В то же время большинство программистов Какао добавляют методы делегата в отдельную категорию в классе делегата. Это помогает сохранить код более организованным. В файле .m для класса в вашем примере я сделал бы что-то вроде этого:
@interface MyClass (UIActionSheetDelegate)
- (void)actionSheet:(UIActionSheet*)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex;
@end
@implementation MyClass
//... normal stuff here
@end
@implementation MyClass (UIActionSheetDelegate)
- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex{
if (buttonIndex == 0){
[[Settings sharedSettings] removeItemAtIndex:/*need index variable here*/];
[drinksTable reloadData];
}
}
@end
Всплывающее окно метода Xcode в окне редактора отделит объявление и реализацию категории от основного класса ».
Objective-C не имеет понятия анонимных классов, таких как Java, поэтому вы не можете создать класс " встроенный ", как в коде Java.
Я считаю, что анонимные классы могут быть реализованы в Objective-C, но потребуется много NSProxy
магии и IMP
безумия. Это один из моих текущих проектов.