首页 > 系统 > iOS > 正文

iOS description

2019-11-06 09:37:47
字体:
来源:转载
供稿:网友

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

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

- (NSString *)description {

    NSMutableString * discription = [NSMutableStringstring];

    if (self.partner) {

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

    }

return discription;

}

partner = xiaoxiao


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表