加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 教程 > 正文

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编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读