iOS中的各种理论知识

Objective-C 部分

1. 你如何理解OC 的内存管理 OC 内存管理是基于引用计数。谁想使用某个对象B,就要把对象B 的计数器+1,如果不

使用这个对象了,那么就把对象B 计数器-1,如果B 对象计数器减到0,那么B 对象自动会调用自己的 dealloc函数,也就是这个对象被销毁。

一句话就是谁拥有对象,谁负责释放该对象,谁alloc 谁应该release 或者autorelease

系统有一个自动释放池,对于一些对象我们可以放在自动释放池中。如果自动释放池本身销毁,那么里面的内容会被全部调用release.

  1. assign, retain, copy, autorelease, release, dealloc 的不同 assign 就是基本的赋值,就是C 的基本的赋值retain 就是让对象引用计数+1,表示拥有了这个对象copy 把对象复制一份。copy 是深拷贝,浅拷贝auorelease 把对象放在自动释放池里面 release 表示对象计数器-1 如果减到 0 那么对象自动 dealloc 
  2. self.name= “yang”和name= “yang”的关系 self.name 表示调用setter 调用一个函数 name=”year”表示给字段field 赋值
  3. 什么是深拷贝和浅拷贝copy 浅拷贝只是拷贝对象本身,不递归的拷贝里面的子对象深拷贝是把对象以及对象的对象递归拷贝。注意强调 mutableCopy不是深拷贝 如果要对自己对象BookModel 实现拷贝那么必须实现 NSCopying协议 实现里面的- (id) copyWithZone:(NSZone *)zone; 
  4. copy 和mutableCopy 是什么 mutableCopy 可变拷贝NSString --àmutableCopy-àNSMutableString NSArray --àmutableCopy-àNSMutableArray; NSMutableString -àcopy---NSString 
  5. #import 和#include 区别

#import 对于包

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏彭湖湾的编程世界

【算法】实现栈和队列

栈(stack) 栈(stack)是一种后进先出(LIFO)的集合类型, 即后来添加的数据会先被删除 ? 可以将其类比于下面文件的取放操作:新到的文件会被先取走...

35660
来自专栏java一日一条

Java LinkedHashMap工作原理及实现

在理解了#7 介绍的HashMap后,我们来学习LinkedHashMap的工作原理及实现。首先还是类似的,我们写一个简单的LinkedHashMap的程序:

4710
来自专栏chenjx85的技术专栏

leetcode-482-License Key Formatting

15630
来自专栏GreenLeaves

JavaScript之call()和apply()方法详解

简介:apply()和call()都是属于Function.prototype的一个方法属性,它是JavaScript引擎内在实现的方法,因为属于Functio...

24860
来自专栏青玉伏案

窥探Swift之字符串(String)

  之前总结过Objective-C中的字符串《Objective-C精选字符串处理方法》,学习一门新语言怎么能少的了字符串呢。Swift中的String和Ob...

24160
来自专栏微信公众号:Java团长

谈谈Java中的语法糖

Java作为一种与平台无关的高级语言,当然也含有语法糖,这些语法糖并不被虚拟机所支持,在编译成字节码阶段就自动转换成简单常用语法。

12630
来自专栏Java技术栈

Java中的6颗语法糖

来源:http://blog.csdn.net/danchu/article/details/54986442 ? 语法糖(Syntactic Sugar),也...

35180
来自专栏向治洪

Kotlin的委托属性和区间

委托属性 委托属性 是一种通过委托实现拥有 getter 和可选 setter 的 属性,并允许实现可复用的自定义属性。例如: class Example { ...

25070
来自专栏chenjx85的技术专栏

leetcode-796-Rotate String

28660
来自专栏Linyb极客之路

简洁又快速地处理集合——Java8 Stream(下)

而 parallelStream() 是并行流方法,能够让数据集执行并行操作,后面会更详细地讲解

16K110

扫码关注云+社区

领取腾讯云代金券