NSLog函式重寫
跟C++的輸出函式相比,NSlog函式有個很大的優勢,就是它可以輸出物件。
在實際使用過程中,我們可以通過實現description函式來實現對NSLog函式的重寫
-(NSString*)description
{
NSString *ret=[NSString stringWithFormat:@"name= %@,age=%@",self.name,self.age];
return ret;
}
具體sample如下:
#import <Foundation/Foundation.h>
@interface person : NSObject
@property(nonatomic,retain)NSString *name;
@property(nonatomic,retain)NSNumber *age;
@end
person.m檔案:
#import "person.h"
@implementation person
-(NSString*)description
{
NSString *ret=[NSString stringWithFormat:@"name= %@,age=%@",self.name,self.age];
return ret;
}
-(void)dealloc
{
[_name release];
[_age release];
[super dealloc];
}
@end
main函式:
int main(int argc, const char * argv[])
{
@autoreleasepool {
person *personObj=[[person alloc] init];
personObj.name=@"andy";
personObj.age=[NSNumber numberWithInt:34];
NSLog(@"the obj is %@",personObj);
}
return 0;
}
輸出結果:2013-11-14 14:31:17.730 elementFirst[2824:303] the obj is name= andy,age=34
相關文章
- 函式的提升與重寫函式
- 2020.12.04 重寫字串操作函式字串函式
- 封裝一個元件 + 函式惰性思想(重寫應用)封裝元件函式
- 箭頭函式、簡寫函式、普通函式的區別函式
- qt之函式重定義QT函式
- 『無為則無心』Python物件導向 — 54、重寫和super()函式Python物件函式
- 實現call函式,手寫Function.prototype.call函式函式Function
- 手寫JavaScript常用的函式JavaScript函式
- 寫一個深度克隆函式函式
- 如何寫好 C main 函式AI函式
- 節流函式怎麼寫?函式
- 如何編寫翻頁函式?函式
- 【重溫基礎】4.函式函式
- 感悟篇:如何寫好函式式程式碼函式
- 如何更好的編寫async函式函式
- 手寫CommonJS 中的 require函式JSUI函式
- 分析函式改寫自關聯函式
- 手寫一個bind函式(大概)函式
- [譯] 編寫函式式的 JavaScript 實用指南函式JavaScript
- 程式碼重構:函式重構的 7 個小技巧函式
- 捕獲NSLog日誌小記
- js中函式命名不能叫write(),否則整個頁面會被重寫(空白).JS函式
- 第2章 編寫測試函式函式
- 解析如何在Bash中編寫函式函式
- 請寫一個sleep(暫停)函式函式
- 手寫JS函式的call、apply、bindJS函式APP
- 重讀《深入理解ES6》—— 函式函式
- 重構 - 保持函式的單一職責函式
- 去重函式unique,sort,erase的應用函式
- 【重溫基礎】21.高階函式函式
- js陣列去重、扁平化函式JS陣列函式
- SQL Server最佳化標量函式改寫內聯表值函式SQLServer函式
- [手寫系列] Spirit帶你實現防抖函式和節流函式函式
- 編寫小而美函式的藝術函式
- WPF啟動流程-自己手寫Main函式AI函式
- C++ 的函式分檔案編寫C++函式
- 編寫函式:遞迴求逆序 (Append Code) ★函式遞迴APP
- [React]antd表單校驗函式寫法React函式
- 學會TypeScript中函式過載寫法TypeScript函式