我正在创建一个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