gpt4 book ai didi

ios - 如果模型对象文件有很多依赖项,我如何将它导入到我的 watch 扩展中

转载 作者:行者123 更新时间:2023-12-01 16:03:38 24 4
gpt4 key购买 nike

我正在为现有的 iOS 应用程序构建一个配套应用程序,该应用程序非常大,并且有些过时。 iOS 应用程序中有一个列表,其中包含 ClassA 类型的项目,可以说。通过将这些对象归档到磁盘并在需要时读回来处理持久性。

我将保存位置更改为 watch 应用程序可以读取的共享容器,但 watch 扩展程序无法理解列表,因为它不知道 ClassA。很公平。我在目标设置中通过编译源将 ClassA.m 添加到,然后由于与 ClassA 相关的导入和依赖关系,我们遇到了大量错误。

我开始添加越来越多的类,不久它就会在整个项目的所有文件中抛出错误,这些错误似乎与 ClassA 无关。

所以现在我想知道这是否是我想要做的一切所必需的。我只想能够在我的 watch 扩展中读取 ClassA 类型的对象的存档,我是否需要将一半的​​ iOS 应用程序导入到 watch 扩展中?

最佳答案

如果我理解正确,您的 ClassA是一个模型类,它存储一些数据并对其进行处理。在这种情况下,我建议您重构 ClassA因此它将只有不依赖于其他类的属性和方法,并将所有其他方法移至类扩展(或多个扩展,如果合适)。
示例:
前:

class DependentClass {
func goodFunction(a: Int) -> Int{ return a * 5 }

func dependantFunction(b: AnotherDependantClass) -> AnotherDependantClass2{ ... }
}

后:
class DependentClass {
func goodFunction(a: Int) -> Int{ return a * 5 }
}

//In another file
extension DependentClass{
func dependantFunction(b: AnotherDependantClass) -> AnotherDependantClass2{ ... }

}

编辑
Objective-C 中的示例:
前:
//DependentClass.h
@class AnotherDependantClass;
@class AnotherDependantClass2;

@interface DependentClass : NSObject

-(int)goodFunction:(int)a;
-(AnotherDependantClass2 *)dependantFunction:(AnotherDependantClass *)a;

@end

后:
//DependentClass.h
@interface DependentClass : NSObject

-(int)goodFunction:(int)a;

@end

//DependentClass+Dependencies.h
@class AnotherDependantClass;
@class AnotherDependantClass2;

@interface DependentClass (Dependencies)

-(AnotherDependantClass2 *)dependantFunction:(AnotherDependantClass *)a;

@end

之后包括您的 DependentClass.m在您的 watch 扩展中添加 #import "DependentClass+Dependencies.h"在适当情况下。希望这会有所帮助。

关于ios - 如果模型对象文件有很多依赖项,我如何将它导入到我的 watch 扩展中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29108575/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com