当前位置: 首页 > 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://www.sadfv.cn/news/38534/

相关文章:

  • 网站游戏怎么制作品牌设计网站有哪些
  • 做网站手机推荐o2o网站建设
  • 多国语言 网站源码宜宾网站建设费用
  • 上海建筑网站建设seo网页优化培训
  • 网站建设设计费会计分录销售易crm官网下载
  • 腾讯云 门户网站建设背景图片素材
  • 网站建设常熟wordpress 4.8 zh cn
  • 网站制作需要哪些软件wordpress首页发布图片
  • 营销型网站备案wordpress标签云添加
  • 做网贷中介网站赚钱吗湖南汉泰建设有限公司网站
  • 营销型网站建设核心要素响应式网站价格
  • 高端 建站软件开发工具有哪些功能
  • 南通市建设工程安全监督站网站网站开发模块化
  • 淘客网站开发源代码软件工程师报名
  • 做数据的网站有哪些长沙做网站zwnet
  • cms建站步骤重庆公司法人变更流程
  • 网站 规划郑州公司网站设计
  • 广告图片网站公司网站空间申请
  • 网站不能访问的原因网站建设初期
  • 辽宁住房和建设厅网站一步步教你为网站开发android客户端
  • 襄城县住房和城市建设局网站网络推广平台
  • 网站开发考核好的外包公司
  • 怎么建设两个大淘客网站wordpress主题 下单
  • 做任务挣钱的网站聚高平网站建设
  • 怎样才能有自己的网站在线设计平台的概念
  • 网站建设的图片叠加步骤过程国家企业信用信息公示信息查询网
  • 织梦确定网站风格成都金牛网站建设公司
  • 重庆网站建设公司 菠拿拿怎样才能在网上卖东西
  • 票务系统网站模板wordpress文章导出ghost
  • 做自行车车队网站的名字定西临洮网站建设