歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Objective-C 交叉引用問題的解決方案

Objective-C 交叉引用問題的解決方案

日期:2017/3/1 10:13:27   编辑:Linux編程

objective-c 不允許交叉引用,上代碼:

A.h

  1. #import <Foundation/Foundation.h>
  2. #import "B.h"
  3. @interface A : NSObject {
  4. B* _b; // 報錯點 1~
  5. }
  6. -(void) test:(B*)b; // 報錯點 2~
  7. @end
A.mm
  1. #import "A.h"
  2. @implementation A
  3. -(void) test:(B*)b {
  4. NSLog(@"test");
  5. }
  6. @end
B.h
  1. #import <Foundation/Foundation.h>
  2. #import "A.h"
  3. @interface B : NSObject {
  4. A* _a; // 報錯點 3~
  5. }
  6. @end
B.mm
  1. #import "B.h"
  2. @implementation B
  3. @end

解決方案:

頭文件中不要包含彼此的頭文件,將成員變量類型、方法參數類型改為由具體的類名 (A*,B*) 改為 id

.mm 實現文件中包含彼此的頭文件不會出錯,that's all!

Copyright © Linux教程網 All Rights Reserved