2013-07-23 14 views
5

Tôi đã sử dụng này trong một số dự án ...NSJSONSerialization không có tùy chọn

[NSJSONSerialization dataWithJSONObject:someObject options:0 error:nil] 

nhưng tôi không biết làm thế nào để xác định no options. Đây là cả hai để đọc và viết.

Tôi đã xem ví dụ ở đâu đó mà người đó đã sử dụng giá trị không đổi thay vì chỉ 0 nhưng tôi không thể tìm thấy nó.

Có cách nào để chỉ định đúng tùy chọn không?

Mã ứng dụng hiển thị cảnh báo nếu tôi sử dụng mã ở trên.

+1

Giá trị '0' có nghĩa là" không có tùy chọn ". Không có giá trị enum cụ thể do Apple cung cấp cho "không có tùy chọn". – rmaddy

+0

Tôi nghĩ đó là trường hợp nhưng khi tôi sử dụng nó trong AppCode nó không thích tôi không sử dụng enum chính xác. Tôi sẽ chỉ sống với cảnh báo, cảm ơn. – Fogmeister

+0

@rmaddy Có, nó được gọi là 'kNilOptions'. –

Trả lời

13

Bạn có thể sử dụng kNilOptions. Ray Wenderlich sử dụng nó trong iOS JSON tutorial của mình, và tôi đã sử dụng nó mà không có vấn đề.

kNilOptions được định nghĩa trong MacTypes.h:

enum { 
    kNilOptions = 0 
}; 

Kể từ NSJSONReadingOptions là một enum, kNilOptions là phù hợp, và như Ray Wenderlich chỉ ra trong hướng dẫn, đó là mô tả nhiều hơn chỉ đơn giản là 0:

NSDictionary *dictionary = [NSJSONSerialization dataWithJSONObject:someObject 
                  options:kNilOptions 
                  error:nil]; 
2

Tùy chọn 0 là tốt, đó là những gì tôi sử dụng trong Xcode. Nó không phàn nàn.