[英]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.