2011-08-04 65 views
2

當前,我正在研究使用核心數據的應用程序。我的一個託管對象具有一個屬性,可以將星期幾(星期日 - 星期六)的一個整數(0-6)跟蹤。爲了每天排序對象以及節省開銷,我絕對相信最好的做法是將日期保存爲索引,然後在運行時轉換爲字符串。這個問題成爲將索引轉換爲相應日期作爲字符串的最佳實踐。即。 0 => @「星期天」和6 => @「星期六」。我明顯可以使用NSCalendar和NSDate和NSDateComponents來實現這一點。鑑於任務的簡單性,它似乎是一個非常迂迴的方式。當然,被定義爲這樣一個簡單的NSString陣列可以做的伎倆:將星期幾的索引轉換爲字符串目標c

NSString *dayOfWeek[7] = {@"Sunday",@"Monday",@"Tuesday",@"Wednesday",@"Thursday",@"Friday'"@"Saturday"}; 

但後來我發現自己不斷地一遍又一遍地重新定義這個相同的變量。全局常量NSString可以工作。我的另一個想法是創建一個函數,使用這個dayOfWeek數組,然後將其包含在需要它的文件中。你怎麼看。最佳做法是什麼?

回答

1

另一種解決方案是在NSString上定義一個類別方法,例如根據數字返回字符串。然後,字符串數組可以是靜態的,只能在該方法中使用。

+1

+1當然,這會工作。 「NSDateFormatter」方法的優點是它可以爲您定製週日名稱。 :) –

+1

然後可能是兩者的結合。 NSDateFormatter返回本地化文本的事實很好。但需要查看數組的指數是否符合OP在覈心數據(星期日= 0)中使用的指數。另外,它可能還會被封裝爲創建一個方法,也許在一個類中(或者在數據模型中更好),並讓這個方法使用weekdaySymbols數組。 –

8

NSDateFormatter的weekdaySymbols方法之一如何?

相關問題