我有 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 类之外,没有其他类可以调用这些方法?
我真的希望我能解释我的问题。如果您有任何问题,请告诉我。