常见iOS开发关键词的区别

iOS的发展,对开发者来说,无疑在技术层面上给了不少的考验,因此开发者必须通过不断学习新知识来完善自己。先将iOS开发的关键词奉献给各位,希望对各位的工作和学习有帮助。

知识一:概念

① 浅Copy:指针的复制,只是多了一个指向这块内存的指针,共用一块内存。

② 深Copy:内存的复制,两块内存是完全不同的,也就是两个对象指针分别指向不同的内存,互不干涉。

③ atomic是Objc使用的一种线程保护技术,主要是防止代码还没有写完就被另外一个线程读取,造成数据错误。但这种机制由於比较耗费系统资源,所以在iphone这种小型设备上,如果没有使用多线程间的通讯编程,那麽nonatomic是一个非常好的选择。

知识二:各种属性的解析

1、 weak:<修饰Object类型,ARC下修饰delegate属性>

① 在ARC环境下,所有指向这个对象的weak指针都将被置为nil。

② 修饰Object类型,修饰的对象在释放後,指针地址会被置为nil,是一种弱引用。

2、assign:< 用於非指针变量。用於基础数据类型 (例如NSInteger)和C数据类型(int, float, double, char, 等),另外还有id >

用於对基本数据类型进行复制造操作,不更改引用计数,也可以用来修饰对象。

3、copy:修饰NSString、NSArray、NSDictionary等有对应可变类型的对象。

是内容拷贝,会在内存里拷贝一份对象,两个指针指向不同的内存地址。

4、strong:ARC下的strong等同於MRC下的retain都会把对象引用计数加1。

在ARC环境下,只要某一对象被一个strong指针指向,该对象就不会被销毁。

5、retain:释放旧的对象,将旧对象的值赋予输入对象,再提高输入对象的索引计数为1

在MRC中,你需要自己retain一个想要保持的对象,ARC环境下就不需要了。

知识三:属性之间区别

① strong与weak的区别

strong类似於retain,会将对象的引用计数器+1,分配内存地址。

weak类似於指针,只是单纯的指向某个地址,但是本身并未分配内存地址。当指向的地址被销毁时,该指针会自动nil。

② assign和weak的区别

对於assign来说,一是非指针变量,比如说NSInteger之类的基础数据类型、C数据类型,还有就是避免出现循环引用的时候,

对於weak,其和assign差不多,但是它多了一点,就是,它会自动对该类型变量设置为nil。

在iOS开发中,你可能会遇到了不少的弯路,但是只要用心去学,很快就能避免这些弯路,在开发的道路上走得更加顺畅。

本文来自投稿,不代表重蔚自留地立场,如若转载,请注明出处https://www.cwhello.com/40464.html

如有侵犯您的合法权益请发邮件951076433@qq.com联系删除

(0)
InspirrInspirr订阅用户
上一篇 2022年6月12日 23:48
下一篇 2022年6月12日 23:48

相关推荐

  • APP界面如何设计才可有持久生命力

    引入交互 APP界面设计一定会要重视核心功能,功能的流程,这些属￿交互的范畴。要想让APP产品被用户喜爱并且继续使用%B

    2022年6月8日
    0133
  • 这样才是真正地提升注册登陆的效率  

    最大程度支持用户使用社交账号进行登陆:尤其是在经过漫长的输入之後,网页提示告知用户用户名不正确或者被占用,除此之外还有不规范的输入等等。一些并不注重用户体验的APP页面,还会将他们之前的输入一并清空! …

    2022年6月25日
    0135
  • 十大容易忽略的APP设计细节

    随着移动优先的趋势,APP的设计越来越受到公司的趋势。不断提高APP的设计质量是每个设计师的追求,但每个APP设计总会存在一些瑕疵。 容易忽略的APP设计细节 细节①:图标大小的视觉平衡 当同一个界面出现多个图片的…

    2022年6月9日 建站资讯
    0164
  • 用户体验的两大黑名单

    1、 没有根据平台性质去匹配相同的图标 界面设计项目如今不再是只在某个平台上呈现,所以需要为多个平台提供成套的图标,如功能类型的:新建、分享、发布、保存、删除等图标。要注意的是,当你在移动端的页面设计要…

    2022年6月7日
    0137
  • 手机网页设计与策划的10大原则

    随着移动端网民数量的日益增多,各企业主已经把目标转移到了移动端,手机网页设计也成为企业发展盈利的又一主攻方向,那手机网页设计应该从哪些方面下手呢?又需要遵循什麽规则呢?下面我就跟大家一一介绍: 1、一…

    2022年6月7日
    0146
  • 用户体验:减少输入

    智能预设 在移动端填写表单更是一件困难的事情,即使设计得再有亮点但在绝大多数的情况下都并不会令人感觉愉悦。最有效的方法就是,通过降低输入成本来提升用户体验。最直接的做法是给予用户合理的智能预设,有初始…

    2022年6月8日
    0136
  • 移动端设计如何提升输入体验

    根据用户不同的输入需求自动匹配键盘 这是一个相当友好的输入设计方式,尤其在移动端设计中。移动端的界面设计受制於屏幕尺寸,而自动匹配用户的输入需求绝对是俘虏人心的最佳做法之一。 自动转变输入方式 如大小写…

    2022年6月7日
    0121
  • 移动端设计如何保持美学一致性?

    美学一致性是移动端设计尤为重视的原则之一,尤其是产品界面设计。因为它能够很好地呈现给用户产品的视觉效果和交互行为是否整合、和谐。 界面设计在元素和内容上,能够整体上标准化,尤其是用户可预知的交互行为,…

    2022年6月7日
    0150

联系我们

QQ:951076433

在线咨询:点击这里给我发消息邮件:951076433@qq.com工作时间:周一至周五,9:30-18:30,节假日休息