iOS description

我們在使用NSLog %@ 輸出某個對象時,就會調用這個對象的 description 方法,它的返回值就是 NSString 字符串類型,所以 description 默認實現返回的格式是 <類名: 對象的內存地址>例如:<partner : 0x7facbe12070>


不要在 description 方法中同時使用 %@ self,如果這樣使用了,那麼最終會造成程序死循環,原因是因爲:如果使用了%@self,代表要調用selfdescription方法,最終就是循環調用description方法。在必要情況下,我們需要重寫description方法以達到改變輸出結果目的,覆蓋description方法的默認實現,重寫完description方法後,再調用NSLog(@”%@”,p)時輸出結果不再是<類名: 內存地址>,而是返回的字符串:

- (NSString *)description {

    NSMutableString * discription = [NSMutableString string];

    if (self.partner) {

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

    }

return discription;

}


partner = xiaoxiao


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章