Cocoa 潮人 Mattt Thompson

又到周末啦,心情轻松了好多,今天我们来看看牛人 Mattt Thopson

在 iOS 开发中,你很可能使用过一个叫做 AFNetworking 的网络库,Mattt 就是这个著名开源软件的作者。

Mattt 是一个多产的开源作者,除了 AFNetworking 之外,Mattt 还创作了 TTTAttributedLabel, FormatterKit, GroundControl, SkyLab 等许多非常好用的开源项目.

Mattt 的成就不仅于此,他还是著名技术博客 NSHipster 的作者。看这个名字就知道这是一个关于 Objective-C和 Cocoa 的技术博客。NS 是在 Mac OS 和 iOS 开发框架 Cocoa 中大量使用的前缀,这个前缀来源于乔布斯在 1985 年创建的 Next 公司。Next 公司制作的计算机操作系统叫做 NextStep, 该系统提供了 Objective-C 的编程接口,后来,Next 被 Apple 收购,乔布斯回到苹果,在 NextStep 的基础上研发出了 Mac 操作系统,Objective-C 成了 Mac 编程的官方语言,NS 前缀的命名方式也流传下来。Mattt 为其博客取名 NSHipster,Mac 和 iOS 开发者自然心领神会。

Continue reading “Cocoa 潮人 Mattt Thompson”

Objective-C 的包管理 CocoaPods

关于包管理

包管理的概念应该是来自操作系统吧,例如 ubuntu 的 apt-get 。

类似的概念被借鉴到应用程序级别,用来管理其依赖的其他软件包。很多编程语言,都有自己的包管理工具,或者说是第三方库管理工具,如 Python 的 pip, Ruby 的 gems, Node.js 的 npm 都是很好用的包管理工具。

我们总说,不要重复发明轮子,但是我们需要一个途径找到我们想要的那个别人已经发明好的轮子才行,包管理工具,就是个帮我们找轮子、装轮子和更新轮子的工具。

Continue reading “Objective-C 的包管理 CocoaPods”

iPhone开发/ObjectiveC 面试题目

在做iPhone开发过程中,收集了一些常见到问题,可以用作面试题目,供大家参考

  1. ObjC中,与alloc语义相反的方法是dealloc还是release?与retain语义相反的方法是dealloc还是release,为什么?需要与alloc配对使用的方法是dealloc还是release,为什么?
  2. 在一个对象的方法里面:
    self.name = “object”;

    name =”object”
    有什么不同吗?
  3. 这段代码有什么问题吗:
    @implementation Person
    – (void)setAge:(int)newAge {
    self.age = newAge;
    }
    @end
  4. 什么是retain count?
  5. 以下每行代码执行后,person对象的retain count分别是多少
    Person *person = [[Person alloc] init];
    [person retain];
    [person release];
    [person release];
  6. 为什么很多内置类如UITableViewController的delegate属性都是assign而不是retain的?
  7. 定义属性时,什么情况使用copy,assign,和retain
  8. autorelease的对象是在什么时候被release的?
  9. 这段代码有什么问题,如何修改
    for (int i = 0; i < someLargeNumber; i++)
    {
    NSString *string = @”Abc”;
    string = [string lowercaseString];
    string = [string stringByAppendingString:@”xyz”];
    NSLog(@“%@”, string);
    }
  10. autorelease和垃圾回收机制(gc)有什么关系?
  11. IPhone OS有没有垃圾回收(gc)?
  12. 什么是Notification?
  13. 什么时候用delegate,什么时候用Notification?
  14. 什么是KVC和KVO?
  15. Notification和KVO有什么不同?
  16. KVO在ObjC中是怎么实现的?
  17. ViewController 的 loadView, viewDidLoad, viewDidUnload 分别是在什么时候调用的?在自定义ViewController的时候这几个函数里面应该做什么工作?
  18. ViewController 的 didReceiveMemoryWarning 是在什么时候被调用的?默认的操作是什么?