2012-04-04 21 views
7

The Errorslỗi trên JSONKit thực hiện

Sau khi nhập khẩu các JSONKit.hJSONKit.m file vào dự án của tôi, tôi nhận được các lỗi sau đây. Tôi đã duyệt và duyệt nhưng không ai có thể gặp phải những vấn đề này?

Tất cả tôi đã làm là nhập khẩu các tập tin và xây dựng và sau đó tôi có được điều này

Đó có phải là một cái gì đó tôi quên để nhập khẩu hoặc ... ??????

Trả lời

15

Bạn có thể tắt ARC (số tham chiếu tự động) trong tệp JSONKit.

Nói chung bước là:

  1. Chuyển đến cài đặt dự án của bạn, dưới giai đoạn xây dựng> Compile Nguồn
  2. Chọn các tập tin bạn muốn ARC tàn tật và thêm cờ biên dịch -fno-objc-arc. Bạn có thể đặt cờ cho nhiều tệp trong một lần chụp bằng cách chọn tệp rồi nhấn phím "Enter".

Vui lòng tham khảo bài đăng này: iOS 5 Best Practice (Release/retain?) để biết thêm chi tiết.

Hy vọng điều đó sẽ hữu ích.

Sửa

Sau khi thảo luận, chúng tôi cũng có một số tùy chọn khác để giải quyết vấn đề. Ví dụ, bạn có thể chuyển đổi JSONKit thành ARC tương thích. Nhưng theo tuyên bố của Mike Weller, nó sẽ rất khó chuyển đổi vì JSONKit sử dụng malloc để quản lý bộ nhớ.

Tôi nghĩ sử dụng cờ biên dịch -fno-objc-arc là một cách có nguy cơ thấp và thuận tiện để giải quyết vấn đề.

+0

Tôi nghĩ đây chỉ là câu trả lời đúng một phần. –

+1

@ParthBhatt Vâng, tôi đồng ý. Phải có một số phương pháp khác có thể giải quyết vấn đề này. Ví dụ, chúng ta có thể thay đổi JSONKit thành một số json lib khác hỗ trợ GCD. Sử dụng cờ trình biên dịch -fno-objc-arc là một cách có nguy cơ thấp để giải quyết vấn đề này theo ý kiến ​​của tôi. – tangqiaoboy

1

Câu trả lời của tangqiaoboy sẽ giải quyết các lỗi đó nhưng bạn cũng có thể cân nhắc sử dụng lớp NSJSONSerialization. Nó làm cho nó thực sự dễ dàng để chuyển đổi NSDictionarys và NSArrays sang JSON và ngược lại.

Chúc may mắn!

+0

Theo như tôi biết, 'NSJSONSerialization' chỉ tồn tại trong ios5. Nếu chúng ta muốn hỗ trợ ios4, chúng ta phải sử dụng phần lib thứ 3. – tangqiaoboy

-2

Bạn có thể chuyển đổi dự án của bạn vào ARC tương thích, bởi bước sau

Đến Edit menu -> Refactor -> Convert to Objective-C ARC...

Hoặc Nếu bạn do not muốn sử dụng ARC trong dự án hiện tại của bạn sau đó làm theo tangqiaoboy 's bước.

+1

JSONKit không hoạt động với ARC do quản lý bộ nhớ tùy chỉnh của nó. –

+0

@MikeWeller: Tại sao chúng ta không thể Refactor mã bằng ARC? –

+0

@MikeWeller: Tôi hiện đang sử dụng JSONKit với ARC mà không gặp bất kỳ sự cố nào ?? Tôi không nghĩ rằng bạn đã từng thử JSONKit với ARC !! – Devang

Các vấn đề liên quan