@interface Student (Study)
//.m文件就是对分类的类目里的方法进行实现
@implementation Student (Study)
----------------------------------
向已有的类增加方法。如NSArray:
#import <Foundation/Foundation.h>
@interface NSArray (Convert)
//向已有的NSArray类增加方法
+ (NSMutableArray *)arrayFromNumber:(int)number;
@end
----------------------------------
#import "NSArray+Convert.h"
@implementation NSArray (Convert)
+ (NSMutableArray *)arrayFromNumber:(int)number{
NSMutableArray *numberArray = [[NSMutableArrayalloc]init];
while (number!=0) {
int temp = number%10;//取出最后一位
number /=10;//去掉最后一位
[numberArrayaddObject:[NSNumbernumberWithInt:temp]];
}
return [numberArrayautorelease];
}
@end
#import "Student.h"
@interface Student ()
//私有方法声明(延展声明)
- (void) privateMothod;
@end
- (void) privateMothod{
NSLog(@"This is privateMothod");
}
/*协议的声明*/
#import <Foundation/Foundation.h>
@protocol FirstProtocol <NSObject>//@protocol + 协议名称
//必须要实现的方法
@required
- (void)requiredMothod;
//可选的实现方法
@optional
- (void)optionalMothod1;
- (void)optionalMothod2;
@end
#import "FirstProtocol.h"
@interface Student :NSObject <FirstProtocol>//在类中导入协议,并在类继承后面加上<协议>
@end
Student.m文件中- (void)requiredMothod{
NSLog(@"这个是必须实现的方法");
}
协议的特点:- 协议可以被任何类实现
- 协议本身不是类,它是一个接口
- 类目也可以采用协议