一些软件启动的时候会调用的一些方法

1、当一个对象从xib或者storyboard中加载完毕之后,就会调用一次

  - (void)awakeFromNib;

 

2、当一个对象是从一个文件中解析出来的时候,就会调用这个方法。

-  (id)initWithCoder:(NSCoder *)decoder;

 解析完如果发现解析的是xib文件,则就会调用  - (void)awakeFromNib;

 

3、如果一个对象是从代码创建的时候,就会调用这个方法

- (id)initWithFrame:(CGRect *)frame;

所以一些程序的初始化操作的时候,对象的创建有可能是从代码也有可能是从文件中创建,所以必须把初始化代码同时放在 initWithCoder: 和 initWithFrame中实现。

所以程序初始化比较严谨的操作如下:(自定义View)

// 从文件中创建控件的时候一定会调用这个方法

-  (id)initWithCoder:(NSCoder *)decoder

{

  if(self = [super initWithCoder:]){

   [self setup];

  }

}

 

// 这个方法是从代码创建控件的时候一定会调用

-  (id)initWithFrame:(CGRect*)frame

{

  if(self = [super initWithFrame:]){

   [self setup];

  }

}

 

// 初始化操作

- (void)setup

{

  // 初始化操作

}

 

4、判断 Xcode的软件版本 (多版本处理)

添加头文件:#import <Availability.h>

判断里面的 #define __IPHONE_6_1     60100 这个宏定义就行。

假设 Xcode 6.1 最高的 SDK版本是 IOS8.0  则这个宏定义的值最高就只能到 #define __IPHONE_8_0  通过这个方法来判断软件的版本。

 

posted @ 2015-09-04 16:50  第三维  阅读(203)  评论(0编辑  收藏  举报