NSDictionary setValue:

发布于 2024-07-30 07:44:28 字数 673 浏览 6 评论 0原文

好吧,这让我抓狂——请告诉我我没有失去理智!

我声明:

NSMutableDictionary* generalSettingsDict;

im my .h

I init:

generalSettingsDict = [[NSMutableDictionary alloc] initWithCapacity:5];

in a viewWillAppear

I set:

[generalSettingsDict setValue:[NSNumber numberWithBool:control.on]
                       forkey:[NSNumber numberWithInt:control.tag]];

in a method:

-(void)settingChanged:(UISwitch*)control forEvent:(UIEvent *)event

我得到 “NSMutableDictionary 可能不会响应 setValue:forkey:” 并且应用程序在运行时崩溃。

请帮忙 :(

OK, this is driving me nuts -- please tell me I'm not losing my mind!

I declare:

NSMutableDictionary* generalSettingsDict;

im my .h

I init:

generalSettingsDict = [[NSMutableDictionary alloc] initWithCapacity:5];

in a viewWillAppear

I set:

[generalSettingsDict setValue:[NSNumber numberWithBool:control.on]
                       forkey:[NSNumber numberWithInt:control.tag]];

in a method:

-(void)settingChanged:(UISwitch*)control forEvent:(UIEvent *)event

And I get "NSMutableDictionary may not respond to setValue:forkey:" and the app crashes when it is run.

Please help :(

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

南风起 2024-08-06 07:44:29

您需要setObject:forKey:setValue:forKey: 是键值编码协议的一部分。 NSMutableDictionary 提供 setObject:forKey:

You want setObject:forKey:. setValue:forKey: is part of the key-value coding protocol. NSMutableDictionary provides setObject:forKey:.

梦在深巷 2024-08-06 07:44:28

A) forkey: 应该是 forKey:。 大写字母很重要。

B) setValue:forKey: 是一个 KVC 方法。 它可能会像您期望的那样工作,但用于 NSMutableDictionary 的正确方法是 setObject:forKey:

A) forkey: should be forKey:. Capitalization is important.

B) setValue:forKey: is a KVC method. It may work as you expect here, but the proper method to use for NSMutableDictionary is setObject:forKey:

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文