我有一个多用户应用程序和一个字典数组,用于保存每个用户的信息。每个字典都包含一个用户的信息。例如,我在每个用户词典中有以下键。
userId
settings
在设置中,我有另一个带有键的字典musicVolume
和language
我将这些键与以下代码一起使用
[settingsInfo setValue:[NSNumber numberWithInt:0] forKey:@"musicVolume"];
现在这些 keysName 字符串@"musicVolume"
已经遍布我的代码。所以我决定制作一个可以用来获取字符串的单例 UtilityClass。现在代码看起来像
UtilityClass* shared = [UtilityClass sharedInstance]
[settingsInfo setValue:[NSNumber numberWithInt:0] forKey:shared.musicVolume];
但我想要做的是具有不同 keyPath 的音乐音量
[settingsInfo setValue:[NSNumber numberWithInt:0] forKey:shared.settings.musicVolume];
我可以做到的一种方法是为设置创建一个结构或一个类,然后保留musicVolume
它。但我想知道是否有办法在不创建类或严格的情况下做到这一点。直接用我们自己的 keyPath 创建一个变量。