美文网首页
iOS description的简单使用

iOS description的简单使用

作者: jimmywife | 来源:发表于2019-07-25 11:28 被阅读0次
1.废话不多说直接贴代码
#import <Foundation/Foundation.h>
@interface testObj : NSObject
@property (nonatomic , copy) NSString * name;
@property (nonatomic , assign) NSInteger  age;
- (instancetype)initWithName:(NSString *)name age:(NSInteger )age;
@end

#import "testObj.h"
@implementation testObj
- (instancetype)initWithName:(NSString *)name age:(NSInteger )age {
    self = [super init];
    if (self) {
        _name = name;
        _age = age;
    }
    return self;
}
2.重写方法之前看打印效果和arr打印对比
- (void)viewDidLoad {
  [super viewDidLoad];

  //数组
  NSArray *arr = @[@"name",@"type"];
  NSLog(@"arr = %@",arr);
  
  //自己的类
  testObj *test1 = [[testObj alloc]initWithName:@"jimmy" age:10];
  NSLog(@"test1 = %@",test1);
}

#打印结果
arr = (
     name,
     type
     )
test1 = <testObj: 0x608000023f20>
3.重写方法后,打印结果
//重写description方法---最简单的打印
- (NSString *)description{
        //我们重写时,还是要打印那个类名,地址,这样会更加清晰
      return [NSString stringWithFormat:@"%@ : %p, %@,%ld",[self class],self,_name,_age];
 }

//打印结果
arr = (
       name,
       type
      )
test1 = testObj : 0x60000003fde0, jimmy,10

#重写一个更清晰的打印效果
//封装为字典的打印
-(NSString *)description {
      return  [NSString stringWithFormat:@"%@ : %p , %@",[self class],self,@{@"name":_name,@"age":@_age}];
}
//打印结果—更加一目了然
test1 = testObj : 0x600000030e20 , {
    age = 10;
    name = jimmy;
 }

相关文章

网友评论

      本文标题:iOS description的简单使用

      本文链接:https://www.haomeiwen.com/subject/ogicrctx.html