我是目标c的新手,正在使用swift.io并尝试将其匿名回调转换为非匿名函数。
基本上试图转换
[self.Socket on:@"connect" callback:^(NSArray* data, SocketAckEmitter* ack) {
NSLog(@"socket connected");
}];
类似
[self.Socket on:@"connect" callback:connectTestCallback];
我尝试定义了一个我将调用的以下函数
- (void) connectTestCallback:(NSArray* )data withAck:(SocketAckEmitter *)ack
{
NSLog(@"socket connected");
}
但我不确定这是不是我应该如何定义它,并且不知道如何调用它。我已经尝试将其称为回调:@ selector(connectTestCallback)但显然没有用。
以下是" on"的定义功能
- (void)on:(NSString * __nonnull)event callback:(void (^ __nonnull)(NSArray * __nonnull, SocketAckEmitter * __nonnull))callback;
答案 0 :(得分:2)
"匿名功能"是一个封闭的块。与函数和方法相反,闭包存储其创建环境,因此您可以在代码中访问它。但是,如果实际参数足够数据来执行您想要执行的操作,则只需向bundle install
发送消息即可执行"命名"方法:
self