Objective-C 交叉引用问题的解决措施
发布时间:2021-12-14 21:58:32 所属栏目:教程 来源:互联网
导读:objective-c 不允许交叉引用,上代码: A.h #import Foundation/Foundation.h #import B.h @interface A : NSObject { B* _b; // 报错点 1~ } -(void) test:(B*)b; // 报错点 2~ @end A.mm #import A.h @implementation A -(void) test:(B*)b { NSLog(@test)
objective-c 不允许交叉引用,上代码: A.h #import <Foundation/Foundation.h> #import "B.h" @interface A : NSObject { B* _b; // 报错点 1~ } -(void) test:(B*)b; // 报错点 2~ @end A.mm #import "A.h" @implementation A -(void) test:(B*)b { NSLog(@"test"); } @end B.h #import <Foundation/Foundation.h> #import "A.h" @interface B : NSObject { A* _a; // 报错点 3~ } @end B.mm #import "B.h" @implementation B @end 解决方案: 头文件中不要包含彼此的头文件,将成员变量类型、方法参数类型改为由具体的类名 (A*,B*) 改为 id .mm 实现文件中包含彼此的头文件不会出错,that's all! ![]() (编辑:PHP编程网 - 黄冈站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |