iOS description

来源:互联网 发布:淘宝高仿鞋可信店铺 编辑:程序博客网 时间:2024/06/06 09:35

我们在使用NSLog %@输出某个对象时,就会调用这个对象的 description 方法,它的返回值就是 NSString 字符串类型,所以 description默认实现返回的格式是 <类名:对象的内存地址>例如:<partner : 0x7facbe12070>


不要在 description方法中同时使用 %@ self,如果这样使用了,那么最终会造成程序死循环,原因是因为:如果使用了%@self,代表要调用selfdescription方法,最终就是循环调用description方法。在必要情况下,我们需要重写description方法以达到改变输出结果目的,覆盖description方法的默认实现,重写完description方法后,再调用NSLog(@”%@”,p)时输出结果不再是<类名:内存地址>,而是返回的字符串:

- (NSString *)description {

    NSMutableString * discription = [NSMutableStringstring];

    if (self.partner) {

        [discription appendFormat:@"partner=\"%@\"",self.partner];

    }

return discription;

}


partner = xiaoxiao


0 0