我是一個非常綠色nubie,反正,我是通過走我通過使用NSLocale類來獲得當地貨幣,這樣的教程工作:類與實例方法Obejctive-C調用 - NSLocale方法
NSLocale *here = [NSLocale currentLocale];
NSString *currency = [here objectForKey:NSLocaleCountryCode];
NSLog(@"Money is %@", currency);
所以,我明白,我創建一個名爲「這裏」的NSLocale類的實例,然後我送「這裏」對象一條消息,要求爲objectForKey,並將結果返回到的NSString,叫做「貨幣」 。最後,我用NSLog打印貨幣值。
好了,這裏是我的問題,然後我回顧了一下其他的方法都在NSLocale類,我發現一個叫「preferredLanguages」,返回的首選語言的數組。所以我儘管我會打電話給那個方法,然後把它打印到日誌裏,只是爲了咧嘴笑,並幫助我學習。從上面的例子中,我想我會這樣稱呼它。從上面的代碼已經有一個名爲'here'的NSLocale類的實例開始,我認爲我只需要以下內容(我正在重複上面的三行,因此這裏很容易閱讀)。
NSLocale *here = [NSLocale currentLocale];
NSString *currency = [here objectForKey:NSLocaleCountryCode];
NSLog(@"Money is %@", currency);
NSArray *prefLangs = [here preferredLanguages];
NSLog(@"Preferred Languages are: %@", prefLangs);
但沒有工作,我得到一個錯誤消息說,「‘NSLocale’不可見@interface聲明選擇‘preferredLanguages’
我想通了,我一定要做到這而不是:
NSLocale *here = [NSLocale currentLocale];
NSString *currency = [here objectForKey:NSLocaleCountryCode];
NSLog(@"Money is %@", currency);
NSArray *prefLangs = [NSLocale preferredLanguages];
NSLog(@"Preferred Languages are: %@", prefLangs);
我只是不明白爲什麼我必須調用這樣的方法:[NSLocale preferredLanguages],而不是[在這裏優選語言]。 'here'的實例已經在上面創建。有人可以請解釋。
雖然你的問題引用NSLocale作爲例子,但它確實是關於實例和類方法。你可能想考慮改變你的問題的標題,使其對其他可能訪問[所以]的人有用,同時遇到同樣的問題和問題。 –