1

随着项目开始增长,我倾向于将代码在逻辑上分成几个 .h/.m 文件。我喜欢这样做,特别是当模型部分(MVC 模式应用程序的)是重要部分时。

一个合乎逻辑的例子是将数据加载/保存部分和数据编辑部分(例如所有计算方法)分开。但现在我面临一些循环链接问题:

// DATA SAVING/LOADING PART

#import "DataSavingLoading.h"
#import "DataCalculation.h"

@implementation DataSavingLoading

+ (NSDictionary *)loadData 
{
     // loading goes here ...
     if (!data) {
         NSDictionary *newData = [self createData];
         [self saveData:newData];
         return newData;
}

+ (void)saveData:(NSDictionary *)data { ... }

+ (NSDictionary *)createData
{
     NSDictionary *newData = @{...};
     return [DataCalculation calculateInitialData:newData];
}

+ (NSDictionary *)loadDataConfiguration { ... }

@end

然后在计算部分:

// DATA CALCULATION PART

#import "DataCalculation.h"
#import "DataSavingLoading.h"

@implementation DataCalculation

+ (NSDictionary *)calculateInitialData:(NSDictionary *)initalData 
{
     // Get config
     NSDictionary *dataConfig = [DataSavingLoading loadDataConfiguration];

     // Calculation goes here...

     return calculatedDataConfig;
}

@end

数据加载部分包括数据计算部分,因为调用了计算方法。数据计算部分必须包括数据加载部分,因为它需要一些配置内容。我可以对那个循环链接有任何问题吗?或者有没有更好的概念来组织模型部分中的一大堆方法?

4

1 回答 1

1

#import 不是#include,你不应该有问题。

Objective-C 中的#import 和#include 有什么区别?

于 2013-07-22T10:53:00.937 回答