Obj*_*der 1 lambda xcode function objective-c objective-c-blocks
我已经开始学习如何在Objective-C中使用块/函数/ lambda.但我不能让它与Objects一起工作.可能我错过了一些指针,但是它不起作用.这是我目前的代码:
MyEventArgs (^skapaEventArg)(Operation);
skapaEventArg = ^(Operation a) { return *[[MyEventArgs alloc] initWithOperation:a]; };
MyEventArgs *a = skapaEventArg(Add);
Run Code Online (Sandbox Code Playgroud)
但是我得到了这张照片显示的错误:
http://img18.imageshack.us/img18/7499/blocksab.png
如果我做
MyEventArgs a = skapaEventArg(Add);
Run Code Online (Sandbox Code Playgroud)
把它放在堆栈上,Xcode给了我通常的"接口不能静态分配" - 错误
如何使用块来使这个简单的代码工作?
它应该是:
MyEventArgs *(^skapaEventArg)(Operation);
skapaEventArg = ^(Operation a) { return [[MyEventArgs alloc] initWithOperation:a]; };
MyEventArgs *a = skapaEventArg(Add);
Run Code Online (Sandbox Code Playgroud)
请注意*第一行中的内容,以及第二行中缺少的内容.
| 归档时间: |
|
| 查看次数: |
678 次 |
| 最近记录: |