我正在創建一個OS X應用程序,允許用戶彈鋼琴(使用MIDI鍵盤)。音符將從左到右滾動,並由用戶在正確的時間播放正確的音符,有點類似於搖滾樂隊或任何其他遊戲。將被滾動的筆記從一個文本文件或某種輸入源的生成,並且它可能看起來像這樣:類之間共享的NSDictionary數據
C4 D4 B3 A3 C4 ...
我創建一個字典音符。在音樂中,有12個獨特的值,所以讓我們說有12個獨特的字母類型。 「C」的值爲0,「C#」爲1,「D」爲2等。我需要用這種方式對它們進行編碼,因爲用戶將要播放的MIDI數據是以數字方式產生的。 「C」將始終爲0,因此需要對這些數據進行硬編碼。在多個類之間共享此字典的最佳做法是什麼,以便該類的每個實例也可以訪問它?
瞭解更多關於如何計劃在代碼中使用此數據結構的信息會有幫助。字典在這裏可能不是你最好的選擇。一個枚舉或者一組常量可能會工作得更好/更好。但是從這個問題很難說清楚。 – wallace 2014-12-05 19:50:11
對不起,缺少信息...我會更新頂部。 – 02fentym 2014-12-05 19:51:39
只需在類之間共享它。你用一個指針指向NSDictionary,指針可以作爲參數傳遞或存儲在另一個類的屬性中,或者從另一個類的屬性中獲取,所以很容易給同一個對象賦予多個類的可尋址性。這不需要任何花哨的初始化方法或單例或任何東西,只是合理的知識你的應用程序如何工作。 – 2014-12-05 20:36:21