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
相關文章
- C/C++—— C++中函式重寫和函式過載C++函式
- 2020.12.04 重寫字串操作函式字串函式
- 封裝一個元件 + 函式惰性思想(重寫應用)封裝元件函式
- 箭頭函式、簡寫函式、普通函式的區別函式
- qt之函式重定義QT函式
- 類成員函式的重寫,過載和隱藏的區別函式
- 轉大寫函式MoneyCn函式
- 讀寫日誌函式函式
- js編寫trim()函式JS函式
- 『無為則無心』Python物件導向 — 54、重寫和super()函式Python物件函式
- java靜態變數和靜態函式是否可以被繼承,重寫!Java變數函式繼承
- 實現call函式,手寫Function.prototype.call函式函式Function
- 【重溫基礎】4.函式函式
- 重構——42函式改名(RenameMethod)函式
- 寫一個深度克隆函式函式
- 手寫JavaScript常用的函式JavaScript函式
- 如何寫好 C main 函式AI函式
- 如何編寫翻頁函式?函式
- 節流函式怎麼寫?函式
- c函式編寫規範函式
- 感悟篇:如何寫好函式式程式碼函式
- 自己寫的和收藏的一寫php函式PHP函式
- 程式碼重構:函式重構的 7 個小技巧函式
- 分析函式改寫自關聯函式
- 如何更好的編寫async函式函式
- 手寫一個bind函式(大概)函式
- string大小寫轉換函式函式
- 隨便寫倆Loadrunner函式函式
- js中函式命名不能叫write(),否則整個頁面會被重寫(空白).JS函式
- c#之多型性_繼承_重寫_虛擬函式_new覆蓋整合測試C#多型繼承函式
- [譯] 編寫函式式的 JavaScript 實用指南函式JavaScript
- Xposed 修改硬體函式 不適合新手閱讀 這是重寫版本 之前的寫的太垃圾了函式
- NSLog的實現
- plsql小寫金額轉大寫金額函式SQL函式
- 去重函式unique,sort,erase的應用函式
- 重讀《深入理解ES6》—— 函式函式
- 【重溫基礎】21.高階函式函式
- js陣列去重、扁平化函式JS陣列函式