oc 如何调用swift中的convenience构造方法,求解答
1条回答 默认 最新
你知我知皆知 2024-07-24 15:34关注以下回答参考 皆我百晓生、券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。
在Objective-C中,你可以通过以下方式调用Swift中的构造函数:
[super init];这将创建一个新的对象,并使用默认的初始化参数。如果你想要覆盖这些默认值,可以这样写:
[self setProperty1:100]; // 如果你需要设置属性 self.setProperty2(200); // 同样适用于其他属性如果你想调用Swift中的构造函数(例如
init()),你可能需要使用OC的@objc注解来告诉编译器这个方法是Objective-C的。对于
convenience方法,Objective-C并没有专门的方法来处理它。但是,你可以在你的Objective-C代码中使用Swift的特性,比如通过继承和封装。例如:@interface MyClass : NSObject <NSCoding> @property (nonatomic, assign) NSInteger property; - (instancetype)initWithProperty:(NSInteger)property; @end @implementation MyClass - (instancetype)initWithProperty:(NSInteger)property { self = [super init]; if (self) { _property = property; } return self; } @end在这个例子中,我们定义了一个
MyClass类,它有一个initWithProperty:方法。然后我们在Objective-C代码中使用了@objc注解,告诉编译器这个方法实际上是Objective-C的。解决 无用评论 打赏 举报