生命属性和构造方法
//
// Person.h
// CustominitMethod
//
// Created by xuqing on 2021/3/17.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface Person : NSObject{
NSString * _name;
NSUInteger _age;
NSString* _sex;
}
- (instancetype)initWithName:(NSString *)name;
- (instancetype)initWithage:(NSUInteger )age;
- (instancetype)initWithName:(NSString *)name age:(NSUInteger )age sex:(NSString *)sex;
@end
NS_ASSUME_NONNULL_END
-
方法实现并赋值
调用已有的方法 简化代码
//
// Person.m
// CustominitMethod
//
// Created by xuqing on 2021/3/17.
//
#import "Person.h"
@implementation Person
- (instancetype)initWithName:(NSString *)name{
self= [super init];
if(self){
_name=name;
_age=0;
_sex=@"";
}
return self;
}
- (instancetype)initWithage:(NSUInteger )age{
self =[super init];
if(self){
_age=age;
}
return self;
}
- (instancetype)initWithName:(NSString *)name age:(NSUInteger )age sex:(NSString *)sex{
self =[super init];
if(self){
_name=name;
_age=age;
_sex=sex;
}
return self;
}
- (NSString *)description
{
return [NSString stringWithFormat:@"name= %@, age =%zd ,sex =%@", _name,_age,_sex];
}
@end
- 赋值第二种写法
- (instancetype)initWithName:(NSString *)name{
return [self initWithName:name age:0 sex:@""] ;
}
- (instancetype)initWithage:(NSUInteger )age{
return [self initWithName:nil age:age sex:nil];
}
- (instancetype)initWithName:(NSString *)name age:(NSUInteger )age sex:(NSString *)sex{
self =[super init];
if(self){
_name=name;
_age=age;
_sex=sex;
}
return self;
}
具体实例化赋值
#import <Foundation/Foundation.h>
#import "Person.h"
int main(int argc, const char * argv[]) {
@autoreleasepool {
// insert code here...
NSLog(@"Hello, World!");
Person * person= [[Person alloc]initWithage:20];
person= [[Person alloc]initWithName:@"陈子豪"];
person= [[Person alloc]initWithName:@"张冰" age:22 sex:@"女"];
NSLog(@"%@",person);
}
return 0;
}
调用结果
image.png最后总结
此文章 只是简单记录在学习iOS基础知识的 。
网友评论