iOS 复习题(二)(4)

来源:未知 责任编辑:责任编辑 发表时间:2014-01-25 11:34 点击:

1. ojc-c 是 通过一种"referring counting"(引用计数)的方式来管理内存的, 对象在开始分配内存(alloc)的时候引用计数为一,以后每当碰到有copy,retain的时候引用计数都会加一, 每当碰到release和autorelease的时候引用计数就会减一,如果此对象的计数变为了0, 就会被系统销毁.
2. NSAutoreleasePool 就是用来做引用计数的管理工作的,这个东西一般不用你管的.
3. autorelease和release没什么区别,只是引用计数减一的时机不同而已,autorelease会在对象的使用真正结束的时候才做引用计数减一.

23.ViewController 的 loadView, viewDidLoad,viewDidUnload 分别是在什么时候调用的?在自定义ViewController的时候这几个函数里面应该做什么工作?

viewDidLoad在view 从nib文件初始化时调用,loadView在controller的view为nil时调用。此方法在编程实现view时调用,view 控制器默认会注册memory warning notification,当view controller的任何view 没有用的时候,viewDidUnload会被调用,在这里实现将retain 的view release,如果是retain的IBOutlet view 属性则不要在这里release,IBOutlet会负责release 。

24. 浅复制和深复制的区别?//浅拷贝和深拷贝


答案:


浅层复制(copy):只复制指向对象的指针,而不复制引用对象本身。//通过对象的指针来访问这个对象


深层复制(mutableCopy):复制引用对象本身
意思就是有个A对象,复制一份后得到A_copy对象后,对于浅复制来说,A和A_copy指向的是同一个内存资源,复制的只不过是是一个指针,对象本身资源
还是只有一份,那如果我们对A_copy执行了修改操作,那么发现A引用的对象同样被修改,这其实违背了我们复制拷贝的一个思想。深复制就好理解了,内存中存在了
两份独立对象本身。//当修改A时,A copy不变。

25. frame和bounds有什么不同?


答案:frame指的是:该view在父view坐标系统中的位置和大小。(参照点是父亲的坐标系统)//frame:框架、结构


bounds指的是:该view在本身坐标系统中 的位置和大小。(参照点是本身坐标系统)//bounds:界限

26. obj-c的优缺点

答案:

objc优点:

  1) Cateogies

  2) Posing

  3) 动态识别

  4) 指标计算

  5)弹性讯息传递

  6) 不是一个过度复杂的 C 衍生语言

  7) Objective-C 与 C++ 可混合编程

缺点:

  1) 不支援命名空间

  2)  不支持运算符重载

  3) 不支持多重继承

  4) 使用动态运行时类型,所有的方法都是函数调用,所以很多编译时优化方法都用不到。(如内联函数等),性能低劣。

27.  用变量a给出下面的定义  

a) 一个整型数(An integer)  

b)一个指向整型数的指针( A pointer to aninteger)  

c)一个指向指针的的指针,它指向的指针是指向一个整型数( Apointer to a pointer to an intege)r  

d)一个有10个整型数的数组( An array of 10 integers)  

e) 一个有10个指针的数组,该指针是指向一个整型数的。(An array of 10 pointers to integers)  

f) 一个指向有10个整型数数组的指针( A pointer to an array of 10 integers)  

g) 一个指向函数的指针,该函数有一个整型参数并返回一个整型数(Apointer to a function that takes an integer as an argument

 andreturns an integer)  

h)一个有10个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数( An array of ten pointers to functions t

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • Lexical or Preprocessor Issue 'xxx.h
  • ios学习笔记(二)xcode 4.3.2下实现基本交互
  • ios版本的helloworld
  • iphone(object-c) 内存管理(3) 有效的内存管理 前半部分
  • ios学习笔记(一)xcode 4.3.2下创建第一个ios项目
  • IOS类似iphone通讯录TableView的完整demo【附源码】
  • UITableView一些方法
  • [iPhone中级]iPhone团购信息客户端的开发 (二)
  • iphone(object-c)内存管理(1)
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1