ios - 使用现有字符串作为 valueForKey 值

标签 ios objective-c

我正在尝试使用字符串(“levelNumberString”)作为 NSDictionary 中的 valueForKey。当我使用像 @"1" 这样的字符串时,它一切正常,但是当我决定将那种字符串换成 levelNumberString 时,它会给我一个 SIGABRT 错误.整数 levelInt 是一个整数,决定应用程序处于什么级别。当加载 View 时,它的值为 1,它的值被“levelNumberString”字符串占用。

这是我的代码(它在 viewDidLoad 中,如果有帮助的话):

NSString *levelNumberString = [NSString stringWithFormat:@"i%", levelInt];
NSDictionary *packDict = [NSDictionary dictionaryWithDictionary:[rootDict valueForKey:levelNumberString]];

上面的代码是给我错误的原因。

提前致谢!

最佳答案

问题在这里@"i%"应该是@"%i"

NSString *levelNumberString = [NSString stringWithFormat:@"%i", levelInt];
NSDictionary *packDict = [NSDictionary dictionaryWithDictionary:[rootDict valueForKey:levelNumberString]];

关于ios - 使用现有字符串作为 valueForKey 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33885927/

相关文章:

ios - 如何在 Swift 中获取任意数组的字节大小?

iOS Calc X 位置以将元素放置在 View 上

ios - 如何在不在 ViewController 类中时以编程方式更改 View Controller

ios - 在 iOS 设备和蓝牙设备之间发送数据时是否始终需要使用蓝牙配置文件?

ios - Epos打印机iOS SDK

ios - 有没有办法从 App Delegate 更改 UIImageView 的状态?

ios - 在 ARC 模式下释放对象

iphone - 在项目中添加htmlparser、htmlnode

objective-c - 当前模态和解除 View Controller 无法正常工作

ios - 在 collectionViewCell 中使用 UIPageViewController