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

东莞网站建设营销的企业网络推广标题技巧

东莞网站建设营销的企业,网络推广标题技巧,石家庄58同城,网站备案 信息安全管理协议定义 chat#xff1a; 在iOS开发中#xff0c;属性关键字是用于声明类的属性#xff08;实例变量#xff09;的修饰符。属性关键字可以影响属性的访问权限、内存管理和生成相关的getter和setter方法。 属性关键字有哪些#xff1f; 分类属性关键字原子性atomic、nonato…定义 chat 在iOS开发中属性关键字是用于声明类的属性实例变量的修饰符。属性关键字可以影响属性的访问权限、内存管理和生成相关的getter和setter方法。 属性关键字有哪些 分类属性关键字原子性atomic、nonatomic修饰变量const、static、extern读写权限readwrite、readonly、setter、getter内存管理assign、weak、unsafe_unretained、retain、strong、copy可空性(nullable、_Nullable 、__nullable)、(nonnull、_Nonnull、__nonnull)、(null_unspecified、_Null_unspecified 、__null_unspecified)、null_resettable 原子性 atomic 原子性默认编译器会自动生成互斥锁对 setter 和 getter 方法进行加锁可以保证属性的赋值和取值的原子性操作是线程安全的但不包括操作和访问。比如说 atomic 修饰的是一个数组的话那么我们对数组进行赋值和取值是可以保证线程安全的。但是如果我们对数组进行操作比如说给数组添加对象或者移除对象是不在 atomic 的负责范围之内的所以给被 atomic 修饰的数组添加对象或者移除对象是没办法保证线程安全的。 nonatomic 非原子性一般属性都用 nonatomic 进行修饰因为 atomic 非常耗时。 读写权限 readwrite 可读可写默认同时生成 setter 方法和 getter 方法的声明和实现。 readonly 只读只生成 getter 方法的声明和实现。 setter 可以指定生成的 setter 方法名如 setter setName。 getter 可以指定生成的 getter 方法名如 getter getName。 内存管理 assign 既可以修饰基本数据类型也可以修饰对象类型setter 方法的实现是直接赋值一般用于基本数据类型 修饰基本数据类型如 NSInteger、BOOL、int、float 等修饰对象类型时不增加其引用计数会产生悬垂指针悬垂指针assign 修饰的对象在被释放之后指针仍然指向原对象地址该指针变为悬垂指针。这时候如果继续通过该指针访问原对象的话就可能导致程序崩溃。 weak 只能修饰对象类型ARC 下才能使用修饰弱引用不增加对象引用计数主要可以用于避免循环引用weak 修饰的对象在被释放之后会自动将指针置为 nil不会产生悬垂指针。 unsafe_unretained 既可以修饰基本数据类型也可以修饰对象类型MRC 下经常使用ARC 下基本不用同 weak区别就在于 unsafe_unretained 会产生悬垂指针。 retain MRC 下使用ARC 下基本使用 strong修饰强引用将指针原来指向的旧对象释放掉然后指向新对象同时将新对象的引用计数加1setter 方法的实现是 release 旧值retain 新值用于OC对象类型。 strong ARC 下才能使用原理同 retain但是在修饰 block 时strong 相当于 copy而 retain 相当于 assign。 copy setter 方法的实现是 release 旧值copy 新值用于 NSString、block 等类型。 可空性 注意nullability annotations 不能用于非指针类型因为 Objective-C 中 nil 只能用在引用对象的指针上而对于基础数据类型如 NSInteger 对于没有值的情况我们一般是使用 NSNotFound 所有权修饰符 所有权修饰符用法__strong1. 强引用持有对象可以对应 strong、retain、copy 关键字。2. 编译器将为 strong、retain、copy 修饰的属性生成带 __strong 所有权修饰符的实例变量.__weak1. 弱引用持有对象对应 weak 关键字ARC下用来防止循环引用。2. 编译器将为 weak 修饰的属性生成带 __weak 所有权修饰符的实例变量。__unsafe_unretained1. 弱引用持有对象对应 unsafe_unretained、assign 关键字MRC下用来防止循环引用。2. 编译器将为 unsafe_unretained 修饰的属性生成带 __unsafe_unretained 所有权修饰符的实例变量。3. 与 __weak 相比它不需要遍历 weak 表来检查对象是否 nil性能上要更好一些。但是它会产生悬垂指针__autoreleasing在 MRC 中我们可以给对象发送 autorelease 消息来将它注册到 autoreleasepool 中而在 ARC 中我们可以使用 __autoreleasing 修饰符修饰对象将对象注册到 autoreleasepool 中。 atomic 修饰的属性是怎么样保存线程安全的 答 编译器会自动生成互斥锁对 setter 和 getter 方法进行加锁可以保证属性的赋值和取值原子性操作是线程安全的但不包括操作和访问。比如说atomic修饰的是一个数组的话那么我们对数组进行赋值和取值是可以保证线程安全的。但是如果我们对数组进行操作比如说给数组添加对象或者移除对象是不在atomic的负责范围之内的所以给被atomic修饰的数组添加对象或者移除对象是没办法保证线程安全的。 什么时候使用 weak/__weak 关键字 ① ARC 中为了避免循环引用而使用可以让相互引用的对象中的一个使用weak/__weak弱引用修饰常用于对delegate和block的修饰 ② Interface Builder 中 IBOutlet 修饰的控件一般也是用weak。 assign 和 weak 关键字的区别有哪些 weak只能修饰对象而assign既可以修饰对象也可以修饰基本数据类型 assign修饰的对象在被释放后指针仍然指向原对象地址而weak修饰的对象在被释放之后会自动置指针为 nil 相同点在修饰对象的时候assign和weak都不改变对象的引用计数。 以下代码会出现什么问题深浅拷贝 property (copy) NSMutableArray *array;不论赋值过来的是NSMutableArray还是NSArray对象进行copy操作后都是NSArray对象深拷贝。由于属性被声明为NSMutableArray类型就不可避免的会有调用方去调用它的添加对象、移除对象等一些方法此时由于copy的结果是NSArray不可变对象对NSArray对象调用添加对象、移除对象等方法就会产生程序异常。
http://www.zqtcl.cn/news/821767/

相关文章:

  • 凡科 360免费建站培训网页制作机构
  • 做网站用什么后缀好法人变更在哪个网站做公示
  • 公司建一个网站多少钱戴尔公司网站建设
  • 可以做试卷网站数学试卷小学六白沟网站开发
  • 宁波个人网站建设好看的网站在哪里好找
  • 宜春做网站公司wordpress 朋友圈插件
  • 做特价网站ckplayer wordpress
  • 网站运营需要服务器吗在哪个网站做图片视频带音乐
  • 大连网站备案高品质网站建设公司
  • 建站模板哪个好网站添加子域名
  • html5创意网站创建网站公司好
  • php网站开发外文旅游电子商务网站的品牌建设
  • 陕西西安网站建设公司哪家好网页框架是什么
  • 广东网站建设效果安福网站建设
  • 如何将html发布到网站微帮网免费发布信息网
  • 做个网站西安专业网络推广公司
  • 建设网站cms网站开发后台需要自己写吗
  • 天津协会网站建设学计算机的做网站的叫什么工作
  • 商城网站建设缺点淘宝店铺怎么免费推广
  • 利于优化的网站模板360建筑网密码忘了
  • 商务网站建设找哪家网页设计商品页面制作
  • 连云港网站建设方案大型门户网站多少钱
  • win7 iis设置网站首页网站建设攵金手指科杰壹陆
  • 阿里巴巴网站建设的功能定位手机在线制作图片加字
  • 网站联系我们的地图怎么做的电子商务网站建设完整案例教程
  • 北京学习网站建设湖北省建设厅政务公开网站
  • 推广做网站联系方式贵州省领导班子名单一览表
  • 厦门的网站建设公司徐州城乡建设局网站
  • 天津圣辉友联网站建设南昌本地生活网站有哪些
  • 境外社交网站上做推广上海网站建设的价格低