IOS学习笔记十三(使用类别实现非正式协议)

1、协议

可以理解为java里面的接口

 

 

 

 

2、测试Demo

NSObject+chenyu.h

#ifndef NSObject_chenyu_h
#define NSObject_chenyu_h
#import <Foundation/Foundation.h>

@interface NSObject(chenyu)
-(void)test;
@end

#endif /* NSObject_chenyu_h */

 

Org.h

#ifndef Org_h

#define Org_h

#import <Foundation/Foundation.h>

#import "NSObject+chenyu.h"

@interface Org : NSObject

@end



#endif /* Org_h */

 

 

Org.m

#import <Foundation/Foundation.h>
#import "Org.h"
//#import "NSObject+chenyu.h"

@implementation Org
//如果不实现协议中的方法会发生错误
-(void)test
{
    NSLog(@"this is org test method");
}
@end

 

 

 

main.m

#import "Org.h"

int main(int argc,char * argv[]) {
    @autoreleasepool {
        Org *org = [Org new];
        [org test];
    }
}

 

 

 

 

 


3、运行结果

this is org test method

 

 

 

 

 

 

 

 

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...