使委托方法对其他类不可见

时间:2021-05-17 12:20:58

标签: ios swift objective-c

我有 2 个班级,

class A(Obj-C) 和

class B(斯威夫特)。

A 类有一个委托协议

@protocol ADelegate<NSObject>

- (void)someMethod:(NSString *)str;

@end

B 类符合:

class B: ADelegate { ... }

但问题是,使用 class B 作为属性的其他 Objective-C 类可以访问我的 Swift 类所遵循的那些委托方法。例如,有一个 class C(Obj-C):

@interface Class_C_ViewController ()

@property (nonatomic, strong) B *classB_property;

- (void)viewDidLoad {
    [self.classB_property someMethod: @""];
}

@end

所以基本上 Swift 属性可以从另一个 Obj-C 类访问和调用委托方法。 有没有办法将这些方法设为私有,这样除了 Swift 类之外,没有其他类可以调用这些方法?

我真的希望我能解释我的问题。如果您有任何问题,请告诉我。

0 个答案:

没有答案