指定构造函数
在.h文件中声明一个返回值类型是instancetype的initwithxxx,在后边的参数上写上所有属性进行初始化。
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface person : NSObject
@property(copy,nonatomic) NSString *name;
@property(nonatomic) NSInteger *age;
@property(nonatomic) NSString *sex;
@property(strong,nonatomic) NSArray *chridren;
+(void)say;
-(void)eat:(NSString *)food;
-(NSString *)sleep:(NSString *)time;
-(instancetype)initWithName:(NSString *)name Age:(NSInteger *)age Sex:(NSString *)sex children:(NSArray *)chridren;
@end
NS_ASSUME_NONNULL_END
然后在.m文件进行实现,实现的格式比较固定
#import "person.h"
@implementation person
+(void)say{
NSLog(@"憋搁这儿叭叭了");
}
-(void)eat:(NSString *)food{
NSLog(@"汉堡");
}
-(NSString *)sleep:(NSString *)time{
return @"睡好了";
}
-(NSString *)description{
return [NSString stringWithFormat:@"当前学生的信息为%@",self.name];
}
-(instancetype)initWithName:(NSString *)name Age:(NSInteger *)age Sex:(NSString *)sex children:(NSArray *)chridren{
if(self = [super init]){
self.name = name;
self.age = age;
self.sex = sex;
self.chridren = chridren;
}
return self;
}
@end
最后写一个实例看看
person *P = [[person alloc]initWithName:@"zhangsan" Age:18 Sex:@"男" children:@[@"A",@"B"]];