【发布时间】:2017-11-07 10:06:28
【问题描述】:
我一直在尝试以下结构,但没有成功:
ClassA.swift
class ClassA:NSObject{
var varA = ""
}
然后我有一个 ClassB.h 和 ClassB.m(目标 c),我无法在 .h 中定义“Project-Swift.h”文件,所以我将它导入到 .m
@interface ClassB()
@property ClassA *myClassA;
@end
和
@synthesize myClassA = theAClass;
当我尝试时问题来了
class ClassC:NSObject{
let theClassAFromC = ClassB.myAClass
}
我收到一条错误消息“ClassB”类型的值没有成员“theClassA”
【问题讨论】:
-
你是否创建了桥接头..?
-
是的,我做到了。这就是为什么可以访问objective c类,对吧?
-
你的前两个步骤是正确的 Swift -> Objc using Project - Swift .h 文件但是在 C 类中你正在访问 Objc -> Swift 为此你需要创建桥接头并在那里导入 Class B
-
感谢您的回答,但我已经这样做了。我的属性和方法在 .h 中,我没有问题,但由于我无法导入 Project-Swift.h,所以我在 .m 中声明了属性。它似乎是“私人的”,无法访问
标签: objective-c swift xcode