OC03 避免互相引入 方法理解5
来源:互联网 发布:java判断全角字符 编辑:程序博客网 时间:2024/06/11 19:04
// Man.h
#import <Foundation/Foundation.h>
//#import "Woman.h"
@class Woman;
@interface Man : NSObject
{
Woman *_woman;
}
@end
// Man.m
#import "Man.h"
#import "Woman.h"
@implementation Man
@end
// Woman.h
#import <Foundation/Foundation.h>
#import "Man.h"
@interface Woman : NSObject
{
Man *_man;
}
@end
// Woman.m
#import "Woman.h"
@implementation Woman
@end
// main.m
#import <Foundation/Foundation.h>
int main(int argc,const char * argv[]) {
#pragma mark -类的组合
//将多个类组合在另一个类中,生成一个新类。也就是将其他类的对象作为新类的实例变量
#pragma mark import和include
// #include是C中的导入头文件的指令, #import是OC中导入头文件的指令,但是#improt可以自动检测是否产生了循环导入,如果有,则自动断开其中一条导入链路,而include本身并不具备这种检测、规避功能。
// @class:@class可以解决循环引入后,断开某条链路的情况。
/* 如何解决?
在声明文件中,使用@class将类名声明出来,并不导入该类。
在实现文件中,使用#import导入类的头文件,这样not only避免了循环引入,but also 互相把对方的类声明为自己的实例。
*/
return 0;
}
- OC03 避免互相引入 方法理解5
- OC03 类的组合使用 避免互相引入4
- OC03 继承、初始化方法1
- OC03 继承、初始化方法2
- OC03 继承、初始化方法、便利构造器-1
- css,js互相引入问题
- angularJS 单击ng-click和双击ng-dblclick嵌套或者出现在同一元素 避免事件互相干扰方法
- 使用jQuery插件时避免重复引入jquery.js文件(jQuery 重复加载错误以及修复方法)
- 理解并发,避免死锁
- 静态引入和动态引入的理解
- 5中方法避免压力过大
- OC03三大特性学习
- 关于命名空间的互相引入的例子
- 引入jquery的方法
- svg引入方法
- css引入方法
- 类方法学习引入
- 引入Bootstrap方法
- HDU 5536 Chip Factory (暴力 或者 01Trie)
- python中format的实例
- 去除 JavaScript 代码的怪味
- 设计模式之--装饰者模式
- HDU 5534 Partial Tree (2015长春站H题&&完全背包)
- OC03 避免互相引入 方法理解5
- Maven多模块布局实例详解
- 关于手机端手势js库的选择:hammer.js
- 151102笔记
- IP地址 网段的划分
- cocos-js 的事件监听(学习)
- BFS Codeforces591E Three States
- OC04 NSString、NSArray、NSNumber
- pods的更新