我将聊天应用中的消息存储在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”仍然是零,它不应该是零。
只有在发送消息时才会发生这种情况。当它收到它们......没有问题!
任何帮助?
答案 0 :(得分:0)
您是否应该使用objectForKey
而不是elementForName
?对象是NSString
,当它存储时,您不需要使用stringValue
。你绝对不需要担心CFStringRef的免费桥接,这只是编译器看到的底层C数据类型