静态变量 static 浅谈

声明之前加上static,就是静态变量。全局变量和静态全局变量都是静态存储的;在存储上无区别。区别在于他们的作用域;全局变量的作用域是整个源程序,当源程序有多个源文件组成时,全局变量在各个源程序文件都是有效的;而静态全局变量怎被限制了作用域,只在定义该变量的源文件内有用在同一程序的其他源文件不能使用!
还有静态全局变量只初始化一次,防止在其他源文件调用!而全局变量可以在其他源文件初始化!!
demo呈现:
在一个for循环中实现动态排版效果:

- (void)viewDidLoad

{

    [super viewDidLoad];

    static int _height = 0;

    for (int j = 0; j<5; j++) {

        UILabel *lab = [[UILabel alloc]init];

  lab.textAlignment = UITextAlignmentLeft;

        lab.lineBreakMode = UILineBreakModeWordWrap;

        lab.numberOfLines = 0;

        lab.font = [UIFont systemFontOfSize:13.0f];

        lab.backgroundColor = [UIColor clearColor];

NSString * _connet = [NSString stringWithFormat:@"我的祖国我的祖国我的祖国我的祖国我的祖国我的祖国我的祖国我的祖国"];//_connet的内容可以是动态内容

        [lab setText:_connet];

        CGSize constraint = CGSizeMake(100, 2000);//label内容设置大小

        CGSize size = [_connet sizeWithFont:[UIFont systemFontOfSize:13.0f]constrainedToSize:constraint1 lineBreakMode:UILineBreakModeWordWrap];

        lab.frame = CGRectMake(100, _height+50, 100, size.height);

        _height = lab.frame.origin.y+lab.frame.size.height-50;//需要减去50,避免重复增加

        [self.view addSubview:lab];

        [lab release];

    }

}

这是我在项目中遇到的一个知识点,分享给大家。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值