首先我们看一段Apple给出的定义:NSObject
is the root class of most Objective-C class hierarchies. Through NSObject
, objects inherit a basic interface to the runtime system and the ability to behave as Objective-C objects.
可以看到NSObject是大多数Objective-C类的根类,它没有父类。通过NSObject,我们可以定义一些Objective-C接口,来获得我们所需的对象的功能。
1、首先新建一个工程
2、再在新的工程里新建一个类,并保证这个类的父类是NSObject。举例此类的名称为MyClass。
3、打开父类的声明文件MyClass.h,编写如下的代码:
#import <Foundation/Foundation.h>
@interface MyClass : NSObject
{
//成员变量
NSString * mName;
int mNumber;
}
//成员方法
- (id)Myinit;
-(void)setInfo:(NSString *) name: (int) number;
-(void)printInfo;
@end
-(id)init 这个方法 用于类的初始化创建,每一个类在创建的时候需要调用init方法,使用父类拿到self指针后,在这里可以做一些子类初始化的工作。
-(id)init 方法名称可以任意修改,但是alloc的时候需要写入修改后的名称,这里我们写成
-(id) MyInit
-(void)setInfo 方法 用于参数的传递
-(void)printInfo 方法 输出成员变量内容
4、打开MyClass.m文件,在对应的位置编写如下代码:
#import "MyClass.h"
@implementation MyClass
- (id)Myinit
{
self = [super init];
if (self) {
// 在这里进行初始化的工作
[self setInfo: @"Evolution":2012];
}
return self;
}
-(void)setInfo:(NSString *) name: (int) number
{
//参数的传递赋值
mName = name;
mNumber = number;
}
-(void)printInfo{
//输出log信息
NSLog(@"我的名字: %@",mName);
NSLog(@"我的编号: %d",mNumber);
}
@end
OK,这样自定义的类就完成了,但这只是一个基本的应用,在实际的项目中可能还需要在自定义的类中编写代理等等方法。
5、完成上面的代码后,我们就需要在项目中使用这个类了。首先打开我们的Controller.h文件,引入MyClass.h文件,并声明一个该类的实例对象。
#import <UIKit/UIKit.h>
#import "MyClass.h"
@interface HelloWorldViewController : UIViewController
{
MyClass *myClass;
}
@end
6、完成后,打开Controller.m文件,在-(void)viewDidLoad方法中,使用我们类中定义的方法,当让也可以在其他的方法中调用。
- (void)viewDidLoad
{
[super viewDidLoad];
//创建对象
myClass = [[MyClass alloc] Myinit];
//调用对象方法
[myClass printInfo];
}
7、完成后,command+B 编译,若无错误,command+R build And run。我们就可以在debugLog显示上面的信息了。
注:代码未经实际编译,若有错误,请指正。