深拷贝和浅拷贝,分类(category)和扩展(extensio

2016-11-20  本文已影响56人  mqhong

2016年11月20日星期日


深浅拷贝:

(可涉及的应用场景:值引用,对象引用)

浅:

深:


分类(category)和扩展(extension)

@interface 类的名称(分类的名称)
//方法的声明
@end
#import "Atom.h"

@Interface Atom (Nuclear)

-(NSUInteger) atomicNumber;

@end
该分类声明了一个名为atomicNumber的方法,这个方法会返回一个非负整形值。

#import "Atom.h"
#import "Atom+Nuclear.h"

@implementation Atom (Nuclear)

-(NSUInteger) atomicNumber{
  return self.protons;
}
这就实现了Nuclear分类,从而向Atom类及其子类添加了atomicNumber方法。
@interface 类的名称 ()
{
//实例变量的声明
}
//属性的声明
//方法的声明

如上:扩展与分类的区别是它能够声明实例变量和属性。编译器会检查在扩展中声明的方法(和属性)是否被实现。类扩展通常应存储在类实现文件中(.m文件中),并用于组织和声明在类中独立使用的其他私有方法(例如,不是公用api的一部分)。


堆和栈的概念区别:

堆和栈的理论知识:

上一篇 下一篇

猜你喜欢

热点阅读