是否有可能从Xcode自动生成自定义init方法,因为Android Studio适用于Android? 我的意思是,如果我在.h中声明一些属性,例如: int a; int b;
所以,我想自动创建一个init方法:
- (id)initWithA:(int) aInner andB:(int) bInner
{
a = aInner;
b = bInner;
}
答案 0 :(得分:3)
虽然仍然没有办法自动执行此操作(无需安装插件),但是有一个巧妙的技巧可以使用多个游标将属性声明列表转换为赋值:
信用归保罗·哈德森(Paul Hudson):Xcode in 20 Seconds: Multiple cursors
答案 1 :(得分:2)
没有本地方法可以执行此操作,但是您可以安装XCode扩展,以便为此添加支持。
请参阅以下扩展名,因为这将提供您所追求的功能(Swift版本)。
答案 2 :(得分:0)
新的Xcode(在Xcode 10之后)针对类(不适用于struct)支持此问题。
步骤:
关于结构。您可以先将其设置为类,然后在获得自动生成初始化后将其更改回struct。
答案 3 :(得分:-1)
哟可以创建一个片段。你需要稍微玩一下,在相关的地方创建漂亮的蓝色占位符,但最重要的是,附上一个键盘快捷键。例如" initx"
然后你就开始在你想要初始化器的位置输入快捷方式,瞧,你有自定义初始化。
答案 4 :(得分:-2)
是的,你可以通过自定义init方法初始化一个类,或者当你想用自定义init方法初始化类时可以传递参数
外观
在class.h文件中定义
@interface CustomView : UIView
- (id)initWithA:(int) aInner andB:(int) bInner
在.m文件中实现initWithStringMethod。
- (id)initWithA:(int) aInner andB:(int) bInner
{
if((self = [super init]))
return self;
}
从其他类或viewController初始化类
CustomView *cv = [[CustomView alloc] initWithA:5 andB:10 ];
答案 5 :(得分:-3)