Objective-C Block语法递归函数实现-阿里云开发者社区

开发者社区> cometwo123> 正文

Objective-C Block语法递归函数实现

简介:
+关注继续查看
两种方法可以实现,一种是参考zenny_chen所说的全局的或都static的block可以实现 
http://www.cocoachina.com/bbs/read.php?tid-9222-fpage-3.html 
int main(void) 
{ 
    void (^p)(int) = 0; 
    static void (^ const blocks)(int) = ^(int i){ 
       if(i > 0){ 
             puts("Hello, world!"); 
             blocks(i - 1); 
       } 
    }; 
    p = blocks; 
    p(2); 
} 
另外找到一种方法就是直接将block块也用__block来进行声明就可以了。 
int main(void) 
{ 
    __block void (^blocks)(int); 
    blocks = ^(int i){ 
       if(i > 0){ 
             puts("Hello, world!"); 
             blocks(i - 1); 
       } 
    }; 
    blocks(2); 
} 
 
 
ps,最近使用block和配合G_C_D来写程序,实在是爽疯了。^_^ 
 
http://minik.blog.com/2011/08/12/objective-c-blockrecursive/ 
[backcolor=infobackground] 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Java中函数的递归调用
说到递归,java中的递归和C语言中也是很相似的,在Java中,递归其实就是利用了栈的先进后出的机制来描述的。 public class HelloWorld { public static void main(String[] args){ // Scanner s = new Scanner(System.
693 0
javascript函数的递归调用问题
functin(arg) { var arg2 = ....; arguments.callee(arg2); ... }
473 0
2014秋C++ 第12周项目 C++函数新特征与递归函数
课程主页在http://blog.csdn.net/sxhelijian/article/details/39152703,课程资源在云学堂“贺老师课堂”同步展示,使用的帐号请到课程主页中查看。  【项目1- 阅读程序】阅读下列程序,写出程序的运行结果。上机时运行程序,与你的预期进行对照、理解。如果对运行结果和其背后的原理仍不理解,请通过单步执行的手段跟踪理解。(1)阅读下面两个有静态局部变量
1133 0
Hive内置运算函数,自定义函数(UDF)和Transform
4.Hive函数 4.1 内置运算符 内容较多,见《Hive官方文档》   4.2 内置函数 内容较多,见《Hive官方文档》 https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF   测试各种内置函数的快捷方法: 1、创建一个dual表 create table dual(id string); 2、loa
4713 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
12060 0
xcode反汇编调试iOS模拟器程序(三)查看Objective-C函数与参数
在Objective-C函数的入口处(第一行)加断点,可用esp指针来探查参数。 以esp为基址,往后的偏移分别是: 0:函数执行完毕后的返回地址(不是返回值的地址哦) 4:对象实例的指针,即self指针 8:selector,实际是一个...
999 0
strcmp函数实现及分析
最近看C,看到strcmp函数,对它的实现原型不很清楚,于是到网上搜。网上算法一大堆,看了很多代码后自己做了一下总结  strcmp函数是C/C++中基本的函数,它对两个字符串进行比较,然后返回比较结果,函数形式如下:int strcmp(const char* str1, const char* str2); 其中str1和str2可以是字符串常量或者字符串变量,返回值为整形。
1426 0
函数分类,HIVE CLI命令,简单函数,聚合函数,集合函数,特殊函数(窗口函数,分析函数,混合函数,UDTF),常用函数Demo
1.1. 函数分类 1.2. HIVE CLI命令 显示当前会话有多少函数可用 SHOW FUNCTIONS; 显示函数的描述信息 DESC FUNCTION concat; 显示函数的扩展描述信息 DESC FUNCTION EXTENDED concat; 1.3. 简单函数 函数的计算粒度为单条记录。 关系运算 数学运算 逻辑运算 数值计算 类型转换 日期函数 条件函数 字
2702 0
请问:hive中avg聚合函数会使用到combiner功能吗?
hive avg函数是否可以使用combiner功能
2900 0
+关注
1031
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载