Ios 从Swift子类访问Objective-C头属性

Ios 从Swift子类访问Objective-C头属性,ios,objective-c,iphone,swift,Ios,Objective C,Iphone,Swift,我参加聚会迟到了,刚换成了斯威夫特。不过,我将继续使用Objective-C编写的库,但从Swift访问父类的属性时遇到问题。典型结构如下所示: A.swift->B.h->C.h 其中A是使用Objective-C库的项目的一部分。我在桥接头文件中添加了B和C头文件,一切正常。我遇到的唯一问题是访问头文件的公共属性。比如说, // C.h @interface C @property(nonatomic, readonly) Foo *foo @end 通常使用Objective-C编写的任

我参加聚会迟到了,刚换成了斯威夫特。不过,我将继续使用Objective-C编写的库,但从Swift访问父类的属性时遇到问题。典型结构如下所示:

A.swift->B.h->C.h

其中A是使用Objective-C库的项目的一部分。我在桥接头文件中添加了B和C头文件,一切正常。我遇到的唯一问题是访问头文件的公共属性。比如说,

// C.h
@interface C
@property(nonatomic, readonly) Foo *foo
@end

通常使用Objective-C编写的任何子类的点语法进行访问。在Swift中,A的实例似乎没有Foo类型的成员。到目前为止,我找到的唯一解决方案是手动将getter添加到我的所有属性中,但我不希望修改库的源代码。是否有其他方法或我遗漏了什么?

您是否尝试使用.valueForKey(“foo”)访问类实例?我试图重现该问题,但无法。。。我从Swift子类访问Objective-C属性没有问题。一些想法。。。
C
是否继承自
NSObject
?但如果不是这样,你会有其他问题。Swift是否可以通过桥接头看到
Foo
?@OmniProg我发现了问题。真正的结构看起来更像:A.swift->B.h->C.h->D.h。我的桥接头中没有包括C。因此,解决方案是包含A的超类的所有头。非常感谢。您是否尝试使用.valueForKey(“foo”)访问类实例?我尝试重现该问题,但无法。。。我从Swift子类访问Objective-C属性没有问题。一些想法。。。
C
是否继承自
NSObject
?但如果不是这样,你会有其他问题。Swift是否可以通过桥接头看到
Foo
?@OmniProg我发现了问题。真正的结构看起来更像:A.swift->B.h->C.h->D.h。我的桥接头中没有包括C。因此,解决方案是包含A的超类的所有头。非常感谢。