- 解释下什么是方法混合?什么时候用?
- 有三个对象:祖父,父亲和孩子,
- 在nil指针上调用方法会发生什么?
- 为什么
retainCount
不应用在代码中,给出2个不同的原因? 这个问题有2个好处,(1)确保人们不使用retainCount
(2)看看他们是否理解为什么不应该用。 - 解释
autorelease pool
在运行时那一层是如何工作的?这类问题比程序员从书中学到的基础知识要难,考察了他们对事情真正运行情况的了解。 - 在进行属性声明的时候,
atomic
和non-atomic
有什么区别? 再次让人吃惊的是,又有很多人不知道此问题的答案。很多人只是以特定方式进行属性声明,因为他们看到别人这么做。像这样的问题暴露这些问题。 - 在C语言中,如何尽快的翻转一个字符串?
- 在对
NSArray
和NSSet
进行迭代时,哪个更快? - 解释代码签名是如何工作的?
- Objective-C里的
posing
是什么? - 列举6个标准工具
copy
和retain
的区别是什么?内存问题frame
和bound
的区别是什么?- 当下面的代码执行时会发生什么 ?
Ball *ball = [[[[Ball alloc] init] autorelease] autorelease];
另一个内存问题,我想要的答案并不只是程序崩溃了,还有为什么崩溃,什么时候崩溃。
###答案
- 决不要使用它,它不会告诉你有用的东西。因为
Foundation
和AppKit/UIKit
的实现是不透明的,你并不知道什么被保存了,为什么被保存了,谁保存的,什么时候保存的等等。http://whentouseretaincount.com/
- You'd think that [NSNumber numberWithInt:1] would have a retainCount of 9223372036854775807.
- You'd think that @"Foo" would have a retainCount of 1. It doesn't. It's 1152921504606846975.
- You'd think that [NSString stringWithString:@"Foo"] would have a retainCount of 1. It doesn't. Again, it's 1152921504606846975.
这里只翻译了部分问题,整理了1个问题的答案。对于 想提供其他几个问题的答案的,可以留言哦,我后面整理下加上。
这是一个系列中的第三部分,第一部分是关于如何申请iOS开发工作,第二部分是介绍简历应该如何写,里面举了4种类型的简历,各有千秋。
##文章链接如下:
- Part Ⅰ: How to Apply for an iOS Developer Job
- Part Ⅱ: iOS Developer Resume Examples
- Part Ⅲ: iOS Interview Questions