目标C-避免导入循环

用户名

我想连接我的两个类,并通过每个类的属性相互链接。我细分了此示例的主要方面:

Ocean.h文件:

#import <Foundation/Foundation.h>
#import "Fish.h"

@interface Ocean : NSObject
@property (nonatomic) NSArray *listOfFishesInOcean;
@end

Fish.h文件:

#import <Foundation/Foundation.h>
#import "Ocean.h"

@interface Fish : NSObject
@property (nonatomic) Ocean *homeOcean;    // Compiler: "Unknown type name Ocean"
@property (nonatomic) int age;
@end

最后,我想做的是操作Fish对象的age属性并能够保存它(listOfFishesInOcean,NSUserDefaults),并在保存完成后在Ocean对象中调用一个函数。这样,我将始终在海洋对象列表中拥有最新的鱼类对象列表。

我的两个问题是:

  1. 我想如何避免import-loop,它会导致编译器错误?
  2. 最后应如何实施保存和操作工作流程?

我考虑过用通知和观察者解决此问题,但由于我有多个鱼类较多的大洋洲,因此我仍然需要以任何方式过滤通知。解决该问题的另一种方法是给每个Ocean对象和Fish对象一个ID,我将再次使用它作为NSUserDefaults中的键。

如果有人对此有任何想法或想法,欢迎您!

韩国铁路

仅将“ .h”文件导入“ .m”文件中,例如:

Ocean.h文件:

#import <Foundation/Foundation.h>
@class Fish;

@interface Ocean : NSObject
@property (nonatomic) NSArray *listOfFishesInOcean;
@end

Ocean.m文件:

#import "Ocean.h"
#import "Fish.h"

 @implementation Ocean

@end

Fish.h文件:

#import <Foundation/Foundation.h>
@class Ocean;

@interface Fish : NSObject
@property (nonatomic) Ocean *homeOcean;    
@property (nonatomic) int age;
@end

Fish.m文件:

#import "Fish.h"
#import "Ocean.h"

 @implementation Fish

 @end

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章