IOS之学习笔记二(块)

1、逗号表达式,返回整个逗号表达式的返回值是最后一个表达式的返回值,长见识了,第一次听说,比如

       int x = (a = 3, a = 4, a = 5, a = 6);
       NSLog(@"x is %d", x);x is 6


2、iOS 有如下三种随机数方法:


        1)、srand((unsigned)time(0)); //不加这句每次产生的随机数不变
        int i = rand() % 5;
        2)、srandom(time(0));
        int i = random() % 5;
        3)、int i = arc4random() % 5 ;


注:rand()和random()实际并不是一个真正的伪随机数发生器,在使用之前需要先初始化随机种子,否则每次生成的随机数一样。
arc4random() 是一个真正的伪随机算法,不需要生成随机种子,因为第一次调用的时候就会自动生成。而且范围是rand()的两倍。在iPhone中,RAND_MAX是0x7fffffff (2147483647),而arc4random()返回的最大值则是 0x100000000 (4294967296)。
精确度比较:arc4random() > random() > rand()。


3、块的基本用法,定义如下
   ^[块返回值类型](形参类型1 形参1 形参类型2 形参2)
   {
    //块执行体
   }  
   1)、定义块必须以^开头
   2)、定义块返回值类型一般省略
   3)、定义块不需要值名字
   4)、块的参数可以是(void)

   块变量格式
   块返回值类型(^块变量名)(形参类型1, 形参类型2);
 
   一般使用

       #import <Foundation/Foundation.h>
       
       int main(int argc, char * argv[]) {
            @autoreleasepool {
            void (^printStr)(void) = ^(void) {
                    NSLog(@"我在学习oc的块");
            };
                printStr();
                int (^sum)(int, int) = ^(int a, int b) {
                return a + b;
            };
                NSLog(@"sum is %d", sum(a, b));
                void (^print)(NSString) =  ^(NSString *info) {
                NSLog(@"info value is %@", info);
            };
                print(@"chenyu");
            }
       }

更多请见:http://www.mark-to-win.com/tutorial/52012.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值