相关疑难解决方法(0)

Objective-C澄清; - /+和*var

我正在从一本书(Mac OS X的Cocoa编程)中自学Objective-C,但是我已经有一半了但是我有两个问题没有在书中得到解答或定义.

  1. 在定义类方法时(假设存在于.h文件中)之间有什么区别:

    - (int)人口;

    +(int)人口;

我现在看到的方式是-方法要求首先分配和初始化类,但是+可以静态调用,而不需要分配和初始化.例如(在另一个类的函数中)

// Using -
Earth *world = [[Earth alloc] init];
int population = [world population];

// Using +
int population = [Earth population];
Run Code Online (Sandbox Code Playgroud)

如果这是正确的,我何时应该使用静态方法,这样做是否有任何缺点.

  1. 在函数参数中定义var或在函数中定义var时,是否使用*表示var将是一个对象?例如(再次在头文件中.)

    - (void)setPopulation :( NSNumber*)人口; //使用*作为人口是NSNumber

    - (void)setPopulation:(int)population; //人口不是一个类,所以不需要*

很抱歉,如果我的任何术语在Objective-C领域没有意义,例如静态方法等.我是PHP和Ruby程序员.

objective-c

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

objective-c ×1