常见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)
上一篇 2022年6月12日 23:48
下一篇 2022年6月12日 23:48

相关推荐

  • APP设计案例:如何设计移动医疗保健类APP

    对很多企业而言,受新冠疫情影响,2020年是十分艰难的一年,但同时也给部分企业创造了不少机会,例如:医疗保健类行业。下面,小编将梳理「如何设计移动医疗保健APP」的内容,希望对相关行业有帮助! ● 医疗保健类...

    2022年6月25日 建站资讯
    0313
  • 功能性APP页面,交互更需简洁

    第一个原因:毕竟是功能性的APP页面设计,主要是服务於用户的具体操作。因此,简化用户的操作流程和步骤,是提升用户交互体验的一个很直观的要求。其次,还要保证交互功能的外观设计,尽量地符合用户所见即所得的...

    2022年6月7日
    0200
  • Android将会被取代?看看Google下一代操作系统是怎样

    Google 拥有全世界使用最广泛的手机系统Android,以及桌面系统Chrome OS。你以为这只是Google的终点,那就想错了。而事实上,Google从去年开始就已经开发下一代操作系统Fuchsia,很可能会取代Android。最近,Fuch...

    2022年6月12日 建站资讯
    0329
  • 用户体验:减少输入

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

    2022年6月8日
    0133
  • 微软iOS输入法亮点:扇形键盘模式!

    近日,微软准备将他们的Word Flow输入法带给iOS用户,该输入法最大亮点在於其特有的扇形键盘模式。 开启扇形键盘模式之後,用户可以选择以屏幕左下角或右下角为圆心,将键盘转换为扇形 ,以便拇指可以直接控制整...

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

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

    2022年6月25日
    0130
  • 网页设计和APP设计技巧:加载动画设计需考虑哪些内容?

    如今,越来越多手机应用程序和网站争相出现,用户对产品质量的要求也越来越高。对大多数用户而言,优秀的产品自然能快速满足他们的各种需求。 例如:网站加载时间延迟2-3秒,用户会以为这3秒加载延迟是个Bug,事...

    2022年6月25日 建站资讯
    0123
  • APP设计新知:APP设计中如何做好引导设计

    APP设计中的引导设计,主要是帮助用户更快熟悉APP的操作,及了解APP的特点。引导设计得好,不仅能有效实现用户的留存和转化,还能降低用户的使用成本。 既然引导设计这麽重要,那麽APP设计中如何做好引导设计? 一...

    2022年6月25日
    0343

联系我们

QQ:951076433

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