当前位置: 首页 > news >正文

最靠谱的海外购物网站/seo技术是什么意思

最靠谱的海外购物网站,seo技术是什么意思,国家电子商务平台,用什么自己做网站吗Blocks理解: Blocks可以访问局部变量,但是不能修改 如果修改局部变量,需要加__block __block int multiplier 7;int (^myBlock)(int) ^(int num) {multiplier ;//这样就可以了 return num * multiplier; }; 2、如果局部变量是数组或者指针的…

Blocks理解:

Blocks可以访问局部变量,但是不能修改

如果修改局部变量,需要加__block

 

 __block int multiplier = 7;int (^myBlock)(int) = ^(int num) {multiplier ++;//这样就可以了 return num * multiplier; };

 

 

2、如果局部变量是数组或者指针的时候只复制这个指针,两个指针指向同一个地址,block只修改指针上的内容。如:

 

NSMutableArray *mArray = [NSMutableArray arrayWithObjects:@"a",@"b",@"abc",nil]; NSMutableArray *mArrayCount = [NSMutableArray arrayWithCapacity:1]; [mArray enumerateObjectsWithOptions:NSEnumerationConcurrent usingBlock: ^(id obj,NSUInteger idx, BOOL *stop){ [mArrayCount addObject:[NSNumber numberWithInt:[obj length]]]; }]; NSLog(@"%@",mArrayCount);

例子里面确实没有修改mArrayCount这个局部变量啊。mArrayCount是一个指针,指向一个可变长度的数组。在block里面,并没有修改这个指针,而是修改了这个指针指向的数组。换句话说,mArrayCount是一个整数,保存的是一块内存区域的地址,在block里,并没有改变这个地址,而是读取出这个地址,然后去操作这块地址空间的内容。

这是允许的,因为声明block的时候实际上是把当时的临时变量又复制了一份,在block里即使修改了这些复制的变量,也不影响外面的原始变量。即所谓的闭包。

但是当变量是一个指针的时候,block里只是复制了一份这个指针,两个指针指向同一个地址。所以,在block里面对指针指向内容做的修改,在block外面也一样生效。

 

__weak __typeof(&*self)weakSelf =self; 等同于

__weak UIViewController *weakSelf =self;

为什么不用__block 是因为通过引用来访问self的实例变量 ,self被retain,block也是一个强引用,引起循环引用,用__week是弱引用,当self释放时,weakSelf已经等于nil。

扩展:NSTimer注意避免循环引用的地方,需要找个合适的时机和地方来 invalidate timer

 

在引用计数的环境里面,默认情况下当你在block里面引用一个Objective-C对象的时候,该对象会被retain。当你简单的引用了一个对象的实例变量时,它同样被retain。但是被__block存储类型修饰符标记的对象变量不会被retain

注意:在垃圾回收机制里面,如果你同时使用__weak和__block来标识一个变量,那么该block将不会保证它是一直是有效的。 如果你在实现方法的时候使用了block,对象的内存管理规则更微妙:也是(__weak与__block区别:)

1、如果你通过引用来访问一个实例变量,self会被retain。
2、如果你通过值来访问一个实例变量,那么变量会被retain

 

 

__weak主要适用于避免循环引用    , 如何避免请见博文:http://www.cnblogs.com/MasterPeng/p/5311911.html

转载于:https://www.cnblogs.com/MasterPeng/p/5841774.html

http://www.jmfq.cn/news/5299183.html

相关文章:

  • dz论坛可以做商业网站/微信广告投放推广平台
  • 电子商务网站关键技术/网上卖货的平台有哪些
  • 专门做淘宝优惠券的网站/一键优化清理加速
  • 手机站喝茶影视/baidu优化
  • 网站基础建设/保定seo网络推广
  • 邢台哪儿做网站便宜/抖音seo排名优化软件
  • 网站建设概要设计怎么写/谷歌官方网站登录入口
  • 怎么复制网站模板/好看的网站设计
  • 深圳宝安大型网站建设/百度网站优化排名
  • 温州网站建设 seo/2345网址大全
  • 做导购型网站/市场营销主要学什么
  • 给学校做网站/免费网站seo诊断
  • wordpress single page/seo公司广州
  • 学网站开发/百度一下搜索网页
  • 查信息的网站有哪些/上海百度推广
  • 建设网站需要哪些硬件设施/seo网络营销的技术
  • 集团网站设计欣赏/外贸seo建站
  • 筛网怎么做网站/杭州关键词优化外包
  • 资源下载/网站排名优化首页
  • 国内三大oa系统/南宁百度seo建议
  • 做漫画网站的需求/培训学校招生方案
  • 12306网站开发费用/陕西省人民政府
  • 淳安网站建设/东莞seo建站排名
  • 网站备案更改需要多久/市场营销咨询
  • 室内设计联盟下载/四川最好的网络优化公司
  • 国内用react做的网站/企业门户网站
  • 上海市网站建设公司/大数据智能营销系统
  • 网站开发 怎样做费用结算/营销推广策略
  • 做网站域名转出挂靠服务器/百度站长之家
  • 南通五建宏业建设工程有限公司网站/济南seo公司