2013-12-18 61 views
1

我知道這些問題聽起來很愚蠢或容易給你們,但我仍然在這裏模糊。 希望你們能清除我的疑惑,並幫助我牢牢把握這個概念。類的所有方法是否返回其實例的地址?

NSHost *instance = [NSHost currentHost]; 
NSString *answer = [instance localizedName]; 
NSLog(@"%@",answer); 

對於第一行代碼, 實例的NSHost類寄信人地址或它的實例類返回地址的所有方法的不currentHost方法?我應該問什麼[NSHost currentHost]返回。 對於第二行代碼, 您可以將指針存儲在變量中嗎?由於localizedName返回一個指針,因此將指針存儲在變量(變量答案)中就像將變量存儲在變量中一樣,因爲指針在我們第一次設置時也是一個變量。我這樣說是因爲我正在閱讀的書說localizedName返回一個指向NSString實例的指針。

回答

0

對於第一行代碼,是否實例NSHost類寄信人地址或類返回地址的實例 的所有方法的currentHost方法?我應該問什麼[NSHost currentHost] 返回。

1)這裏currentHost方法用於創建NSHost的對象。

2)這些方法只是使用可用的網絡管理服務來發現所請求主機的所有名稱和地址。

當調用此[NSHost currentHost]你會得到下面的輸出回報: -

<NSHost 0x100b28db0> xyz-im-123.local ((
    "xyz-im-123.local", 
    "XYZ-IM-123.local", 
    localhost 
) (
    "fe80::ca2a:14ff:fe3f:8767%en0", 
    "11.2.2.34", 
    "17.170.163.86", 
    "fe80::1%lo0", 
    "127.0.0.1", 
    "::1" 
)) 

對於代碼的第二行,你能存儲在一個變量的指針?由於localizedName返回一個指針,因此將指針存儲在變量(變量答案)中就像將變量存儲在變量 中,因爲當我們第一次設置它時,指針也是一個變量。我在說 這是因爲我正在閱讀的這本書說該localizedName返回指向NSString實例的指針 。

對於第二點,請按照細節在這個環節Understanding pointers?

+0

嗨,你所提供的鏈接沒有回答我的問題。 – user3090658

+0

你能解釋第二點嗎? –

+0

事情是我一直認爲我們必須給一個指針分配一個地址。但代碼NSHost *實例= [NSHost currentHost];不會將地址分配給指針實例。如果我將地址分配給指針,爲什麼我不做這樣的NSHost *實例=&[NSHost currentHost] ;. – user3090658

相關問題