2012-05-03 70 views
0

我正在開發一個iOS應用程序。我使用Xcode 4.3.2SBJSON,我已經導入所有的JSON類我的項目,它編譯罰款,但是當我在項目定位,我有這樣的崩潰:-[__NSCFDictionary JSONRepresentation]: unrecognized selector sent to instanceXcode 4.3.2 ans SBJSON

,並在我的代碼我在做什麼樣這樣的:NSString *jsonString = [dic JSONRepresentation]; DIC是NSDictionnary.

謝謝您的回答

回答

0

嘗試下面的代碼,其中responseString是你從解析器收到您的回覆字符串。

SBJSON *json = [SBJSON new];  
NSMutableDictionary *jsonDictionary = (NSMutableDictionary*) [json objectWithString:responseString error:nil]; 
+0

沒有一個類SBJSON! – samir

+0

它可用,你可以從https://github.com/dcgrigsby/luckynumbers/tree/master/Classes下載它。在JSON文件夾中有一些名爲SBJSON.h&SBJSON.m的文件。 –

+0

我已從這裏下載項目https://github.com/stig/json-framework – samir

0

JSONRepresentation不是Apple的NSDictionary類的一部分。

這是JSON Api中包含的非常有用的類別。

=>您使用的是this JSON Api嗎?

=>您是否正確導入了JSON Api頭文件?

=>如果你有看的代碼,被聲明爲JSONRepresentation類別:

@interface NSDictionary (NSDictionary_SBJsonWriting) 
/// Returns a string containing the receiver encoded in JSON. 
- (NSString *)JSONRepresentation; 
@end 

與.m文件對應的代碼?

編輯:

如果你是一個靜態庫,並在其中(或其他API)使用JSON API時,你應該在你的庫的構建設置和調用項目的人一些變化。

  • 在您的庫構建設置中,檢查「其他鏈接器標誌」行。該值應爲:「-ObjC」

  • 在調用項目的構建設置

    ,「其他連接標誌」的值應該是「-all_load」

+0

是的,我已經完成了所有這些,喲已經使用Xcode 4.3.2和SBJSON? – samir

+0

不,我仍然在4.2。遷移到4.3後發生問題了嗎?之前工作過嗎? – Martin

+0

你好,如何使用SBJSON將NSDictionnay轉換爲JSON? – samir