将Objective C扩展扩展为swift类

时间:2015-11-20 12:02:54

标签: ios swift macos swift2

我想在swift中扩展一个目标C类,它在带有+ Protected的不同头文件中有一个类扩展。像往常一样在一个.m文件中实现相同的功能。

但我的问题是如果我是这个类的子类我不能使用变量而不能调用任何私有的方法。但是在Objective C中,如果我在.m文件中继承并导入相同的+ Protected.h文件,我可以使用超类的私有变量和方法。任何人都可以表明这样做的方法我的意思是子类,并在swift中使用它的私有方法和变量,因为我们可以在Objective C中进行。示例如下所示

@interface Parent : NSObject 
@end

在单独的头文件

@interface Parent()
@property NSInteger money;

-(void)spend;
@end

#import "Parent+Protected.h"
@implementation Parent 
@end

将新文件用于其他文件

@interface ObjCChild : Parent
@end

#import "Parent+Protected.h"

@implementation ObjCChild

-(void)spend {
  self.money--;
}

@end

我在swift中尝试相同的

class SwiftChild : Parent {
  override func spend () {
    self.money--
 }
}

这里只有ObjCChild可以花钱而不是快速的孩子(即使它不会得到钱:))。任何人都可以帮助快速的孩子。???

0 个答案:

没有答案