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

access数据库创建网站番禺网页设计

access数据库创建网站,番禺网页设计,wordpress 伪静态 效果,深圳做网站公司有哪些地方1、关于__weak__weak只能在ARC模式下使用#xff0c;也只能修饰对象#xff08;比如NSString等#xff09;#xff0c;不能修饰基本数据类型#xff08;比如int等#xff09;__weak修饰的对象在block中不可以被重新赋值。__weak只在ARC下使用#xff0c;可以避免循环引用… 1、关于__weak__weak只能在ARC模式下使用也只能修饰对象比如NSString等不能修饰基本数据类型比如int等__weak修饰的对象在block中不可以被重新赋值。__weak只在ARC下使用可以避免循环引用。__weak修饰对象不会增加引用     __weak __typeof(self) weakSelf self;     self.testBlock ^{         [weakSelf doSomeThing];     }); 弱引用不会影响对象的释放但是当对象被释放时所有指向它的弱引用都会自定被置为 nil这样可以防止野指针。 2、关于__block__block不管是ARC还是MRC模式下都可以使用可以修饰对象还可以修饰基本数据类型。在MRC下使用__block是可以避免循环引用的在ARC下使用 __block typeof(self)weakSelf self;因为block是用过添加引用来访问实例变量的所以self会被retain一次block也是一个强引用会引起循环引用。 __block修饰对象会增加引用 3、关于 __strong - (void)viewDidLoad {     [super viewDidLoad];          MyOBJ *mm [[MyOBJ alloc]init];     mm.name Lilei;     __weak typeof(student) weakSelf mm;          mm.doBlock ^{         dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{             NSLog(my name is %,weakSelf.name);         });     };          mm.doBlock(); } //输出my name is (null) 在dispatch_after这个函数里面。在doBlock()的block结束之后mm被自动释放了。又由于dispatch_after里面捕获的__weak的mm在原对象释放之后__weak对象就会变成nil防止野指针。 那么我们怎么才能在weakSelf之后block里面还能继续使用weakSelf之后的对象呢 究其根本原因就是weakSelf之后无法控制什么时候会被释放为了保证在block内不会被释放需要添加__strong。 在block里面使用的__strong修饰的weakSelf是为了在函数生命周期中防止self提前释放。strongSelf是一个自动变量当block执行完毕就会释放自动变量strongSelf不会对self进行一直进行强引用。 - (void)viewDidLoad {     [super viewDidLoad];          MyOBJ *mm [[MyOBJ alloc]init];          mm.name Hanmeimei;     __weak typeof(mm) weakSelf mm;          mm.doBlock ^{         __strong typeof(mm) strongSelf weakSelf;         dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{             NSLog(my name is %,strongSelf.name);         });              };          mm.doBlock(); } //输出my name is Hanmeimei   weakSelf 是为了block不持有self避免Retain Circle循环引用。在 Block 内如果需要访问 self 的方法、变量建议使用 weakSelf。 strongSelf的目的是因为一旦进入block执行假设不允许self在这个执行过程中释放就需要加入strongSelf。block执行完后这个strongSelf 会自动释放不会存在循环引用问题。如果在 Block 内需要多次 访问 self则需要使用 strongSelf。 4、关于 多层嵌套的block4.1单层block - (void)doSomething{     XXModel *model [XXModel new];          __weak typeof(self) weakSelf self;          model.dodoBlock ^(NSString *title) {                  __strong typeof(self) strongSelf weakSelf;         strongSelf.titleLabel.text title;     };          self.model model; }   - (void)viewDidLoad {     [super viewDidLoad];     [self doSomething]; } 4.2双层block - (void)setUpModel{     XXModel *model [XXModel new];          __weak typeof(self) weakSelf self;          model.dodoBlock ^(NSString *title) {                  __strong typeof(self) strongSelf weakSelf;//第一层         strongSelf.titleLabel.text title;                  __weak typeof(self) weakSelf2 strongSelf;         strongSelf.model.dodoBlock ^(NSString *title2) {                          __strong typeof(self) strongSelf2 weakSelf2;//第二层             strongSelf2.titleLabel.text title2;         };     };          self.model model; } 这样就避免的引用循环不管都多少个block嵌套都可以按照这样来做。       转自https://blog.csdn.net/nathan1987_/article/details/82749057 转载于:https://www.cnblogs.com/huangzs/p/10984034.html
http://wiki.neutronadmin.com/news/38534/

相关文章:

  • 山东平台网站建设方案随州网
  • 邵武市2017建设局网站勒流网站建设制作
  • 怎么查看网站外链效果网站排名优化外包公司
  • 做公司网站别人能看到吗6上海中学有哪些
  • dz论坛网站需要旅游景点网站建设
  • 电子商务网上购物网站建设规划外贸网站怎么做外链
  • 交流建设网站制作自己的网站需要什么
  • 电子商务网络营销方式西安网站seo收费
  • 网站建设哪里有学重庆装修公司口碑最好的是哪家
  • 选择建设网站公司要注意什么青岛网站seo分析
  • 网站开发服务协议北京给网站做系统的公司名称
  • 福州网站设计十年乐云seowordpress主题DUX大前端
  • 行政事业单位网站建设建议望城做网站
  • 为什么我做的视频网站播放不了沧州网页重做
  • 做网站都是需要什么下载网站上的表格 怎么做
  • 吧台 东莞网站建设徐汇网站建设推广
  • 哪些网站可以做问卷如何挑选网站主机
  • 建站到网站收录到优化广州黄埔区建设局网站局
  • 广西南宁网站建设公司网站上传 空间 数据库
  • 做文字图片的网站苍南县住房和城乡规划建设局网站
  • 邯郸网站建设哪儿好北京建设教育协会
  • 阿里云 网站根目录网站seo推广营销
  • 做市级网站需要什么设计网站公司收费
  • 机票特价网站建设全国行业名录搜索系统官网
  • 咖啡厅网站建设射洪网站建设工作室
  • 营销一型网站建设公司4网站免费建站
  • 青海省住房和城乡建设局网站佛山英文网站建设
  • 工信部网站登陆嘉兴企业网站开发
  • 做网站好迷茫怎样调试 wordpress
  • 云虚服务器网站建设微信公众号人工咨询电话