OC直接列印陣列,陣列元素顯示中文的問題

2021-07-05 06:04:42 字數 750 閱讀 1202

這裡我們假設有乙個oc陣列,然後裡面放了乙個person類物件p1,然後我們希望通過直接列印陣列,得到陣列裡元素的相關資訊。

person *p1 = [[person alloc init];

​[size=16.3636360168457px]顯示這不是我們想要的結果,所以我們會重寫person的description方法

- (nsstring*)description  {

然後我們再次執行程式,你會發現程式一樣沒有得到我們想要的結果,出現亂碼非中文了。

"\u6211\u662f\u4e00\u4e2a\u4eba"

上面的東西貌似是文字的unicode編碼。

等,我們先再回顧一下思路,雖然這很簡單。

列印陣列,用nslog%@",是不是也應該重寫description方法?

我剛測試了,其實不用除非陣列元素的description方法裡含有中文。

但是,有時候又必須要有中文呢,那我們就重寫description方法吧。

由於nsarray是乙個系統的類,又沒有在工程中有這個類的檔案,所以我想到了用分類,好像也可以直接寫在main函式中,那我們先寫在分類裡吧。

於是我嘗試這樣寫

- (nsstring *)description {

結果還是不行。

原來這種情況下我們要重寫的是descriptionwithlocale:方法

- (nsstring *)descriptionwithlocale:(id)locale

螺旋列印陣列

螺旋列印 include stdafx.h include include include int getcreatematrix int nvectors void spinnerprint int matrix,int n,int nvectors int main int argc,char ...

python 列印陣列

def hex print x for i in range 0,len x print 0x x ord x i 如果沒有print後面的那個逗號,每列印乙個就會換行,加了逗號以後,就後面加空格輸出 字串 str 轉換為列表 list d k.encrypt data list1 list d h...

列印陣列元素n次,採用方法

題目 列印陣列元素n次,採用方法 注意 陣列可以作為方法的引數 在呼叫方法時,向小括號進行傳參,傳遞進去的是陣列的位址值 實現 public class demoparam system.out.println array 位址值 i 16f65612 printarray array 傳遞進去的就...