gpt4 book ai didi

objective-c - 使用另一个 Swift 文件从 Objective C 类获取 Swift 对象

转载 作者:行者123 更新时间:2023-11-28 15:14:16 24 4
gpt4 key购买 nike

我一直在尝试以下结构但没有成功:

ClassA.swift

class ClassA:NSObject{
var varA = ""
}

然后我有一个 ClassB.hClassB.m( objective-c ),我无法在 .h 中定义“Project-Swift.h”文件,所以我将其导入 .m

@interface ClassB()
@property ClassA *myClassA;
@end

@synthesize myClassA = theAClass;

当我尝试的时候问题来了

class ClassC:NSObject{
let theClassAFromC = ClassB.myAClass
}

我收到一条错误消息类型“ClassB”的值没有成员“theClassA”

最佳答案

  1. 将您的 objc header 添加到桥接 header
  2. 在您的 objc header 中,为您的 swift 类使用 @class 符号,例如@class ClassA;,而不是导入“Project-Swift.h”文件。您可以在您的 objc 实现文件中导入该文件。
  3. 不要忘记您不能按照您声明的方式访问 objc 类的非静态属性。相反,在您的 swift 类中初始化您的 ClassB 对象,并在需要时访问它的属性。要实例化 ClassA 对象,您可以在 ClassB
  4. 中使用依赖注入(inject)
  5. 为方便起见,使用 @objc 声明您的 Swift 类可访问 objc 运行时

关于objective-c - 使用另一个 Swift 文件从 Objective C 类获取 Swift 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47155078/

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