2012-04-04 96 views
7

The Errors錯誤執行

在導入JSONKit.hJSONKit.m文件到我的項目,我得到以下錯誤。我瀏覽過並瀏覽過,但似乎沒有遇到這些問題?

我所做的就是進口的文件和建立,然後我得到這個

有什麼事情我忘了導入或... ??????

回答

15

您可以在JSONKit文件中禁用ARC(自動引用計數)。

一般步驟是:

  1. 轉到您的項目設置,在構建階段>編譯源代碼
  2. 選擇要禁用ARC的文件,並添加-fno-objc弧編譯器標誌。您可以通過選擇文件然後按「Enter」鍵來一次性設置多個文件的標誌。

請參閱這篇文章:iOS 5 Best Practice (Release/retain?)瞭解更多詳情。

希望它有幫助。

編輯

討論後,我們也有一些其他的選擇來解決這個問題。例如,您可以將JSONKit轉換爲ARC兼容。但根據Mike Weller的聲明,轉換將非常困難,因爲JSONKit使用malloc來管理內存。

我覺得使用-fno-objc-arc編譯器標誌是解決這個問題的一種低風險和方便的方法。

+0

我認爲這只是部分正確的答案。 – 2012-04-04 15:27:47

+1

@ParthBhatt是的,我同意。必須有一些其他方法可以解決這個問題。例如,我們可以將JSONKit更改爲其他支持GCD的json庫。在我看來,使用-fno-objc-arc編譯器標誌是解決此問題的低風險方法。 – tangqiaoboy 2012-04-05 03:38:11

1

tangqiaoboy的答案將解決這些錯誤,但你也可以考慮使用類NSJSONSerialization。它使得將NSDictionarys和NSArrays轉換爲JSON非常簡單,反之亦然。

祝你好運!

+0

據我所知,'NSJSONSerialization'只存在於ios5中。如果我們想要支持ios4,我們必須使用第三部分庫。 – tangqiaoboy 2012-04-04 12:22:44

-2

您可以將項目轉化爲ARC兼容,通過以下步驟

轉到Edit menu -> Refactor -> Convert to Objective-C ARC...

,或者如果你想do not在當前項目中使用ARC然後按照tangqiaoboy的步驟。

+1

JSONKit不支持ARC,因爲它是自定義內存管理。 – 2012-04-04 12:30:38

+0

@MikeWeller:爲什麼我們不能使用ARC重構代碼? – 2012-04-04 12:32:12

+0

@MikeWeller:我目前使用JSONKit和ARC沒有任何問題?我不認爲你曾經用ARC試過過JSONkit! – Devang 2012-04-04 12:33:15