簡體   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