在自定义初始化方法时发现有时会报错Cannot assign to 'self' outside of a method in the init family, 是因为Xcode会检查init的写法

屏幕快照 2020-03-31 下午7.50.55.png
错误写法
-(instancetype)tjInitWithFirstName:(NSString *)firstName andLastName:(NSString *)lastName andEmail:(NSString *)email andAge:(NSInteger)age{
self = [super init];
if (self) {
_tjFirstName = firstName;
_tjLastName = lastName;
_tjEmail = email;
_tjAge = age;
}
return self;
}
正确写法为把init前面的字母去掉,就可以了
-(instancetype)initWithFirstName:(NSString *)firstName andLastName:(NSString *)lastName andEmail:(NSString *)email andAge:(NSInteger)age{
self = [super init];
if (self) {
_tjFirstName = firstName;
_tjLastName = lastName;
_tjEmail = email;
_tjAge = age;
}
return self;
}