步驟:
1.新創建的文件名:這個帶有。基礎+日誌的m後綴是正確的。這是。m文件,而。不需要h聲明文件。
2.然後復制以下所有源代碼:
1 //
2 // NSDictionary+Log.m
3 // 01-母盤-多值參數和中文輸出
4 //
五
6 #導入& ltfoundation/foundation . h & gt;
七
8 //重寫系統的打印方法,
9 //需要知道的是,NSDictionary和NSArray都有自己的打印方法。
10 //也就是說,如果重寫NSArray print重寫方法,NSArray對象只有在打印之後才會被重寫。
11
12 //如果是通過子類重寫父類系統的方法,使用時需要導入這個子類。
13 //但是如果按類別重寫系統方法,就不需要導入了,因為系統已經導入了同名的重寫方法,系統會優先加載類別中重寫的方法,甚至是。h聲明文件,因為系統已經有了。h申報文件。
14
15 @實現NSDictionary(日誌)
16
17 //控制輸出:排版字典或數組。
18-(ns string *)description with locale:(id)locale
19 {
20 NSMutableString * string =[NSMutableString string];
21 //設置開始
22[string appendString:@ " { \ n "];
23
24 //設置鍵值
25[self enumeratekeysandobjectsusingblock:^(id _非空鍵,id _非空對象,bool * _非空停止){
26[string append format:@“% @:”,key];
27[string append format:@“% @,\n”,obj];
28 }];
29 //設定結束
30[string appendString:@ " } "];
31
32 //刪除最後壹個逗號
33 ns range range =[string range of string:@ "," options:NSBackwardsSearch];
34 if (range.location!= NSNotFound) {
35[string deleteCharactersInRange:range];
36 }
37返回字符串;
38 }
39
40 /*
41-(ns string *)description with locale:(id)區域設置縮進:(NSUInteger)級別
42 {
43 NSMutableString * string =[NSMutableString string];
44 //設置開始
45[string appendString:@ " { "];
46
47 //設置鍵值
48[self enumeratekeysandobjectsusingblock:^(id _非空鍵,id _非空對象,bool * _非空停止){
四十九個
50[string append format:@“% @:”,key];
51[string append format:@“% @”,obj];
52 }];
53 //設置結束
54[string appendString:@ " } "];
55返回字符串;
56 }
57 */
58 @結束
59
60
61 @實現NSArray(日誌)
62
63 //控制輸出:排版字典或數組。
64-(ns string *)description with locale:(id)區域設置
65 {
66 NSMutableString * string =[NSMutableString string];
67 //設置開始
68[string appendString:@ "["];
六十九
70 //設置鍵值
71[self enumerateobjectsusingblock:^(id _非空obj,NSUInteger idx,bool * _非空stop) {
72[string append format:@“% @,”,obj];
73
74 }];
75 //設置結束
76[string appendString:@ "]"];
77
78 ns range range =[string range of string:@ "," options:NSBackwardsSearch];
79 if (range.location!= NSNotFound) {
80[string deleteCharactersInRange:range];
81 }
82
83返回字符串;
84 }
八十五
86 @結束