繁体   English   中英

将NSString存储在NSDIctionary中时,变量不是CFString

[英]Variable is not a CFString when storing NSString in a NSDIctionary

我将来自聊天应用程序的消息存储在NSDictionary中。 但是,如果我愿意

NSString *msg = [[message elementForName:@"body"] stringValue];
[m setObject:msg forKey:@"msg"];

它抱怨说(调试时)“变量不是CFString”,而msg变为nil。 因此,我将其更改为:

CFStringRef cfstring=(__bridge CFStringRef) msg;
[m setObject:(__bridge NSString*) cfstring forKey:@"msg"];

但是“ msg”仍然为零,并且不应为零。

这仅在它发送消息时发生。 当它收到它们时...没有问题!

有什么帮助吗?

您不应该使用objectForKey而不是elementForName吗? 如果对象存储时是NSString ,则无需使用stringValue 您绝对不必担心免费连接到CFStringRef,这只是编译器正在查看的基础C数据类型。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM