2010-01-22 5 views
3

나는 백엔드 서버에 연결된 iPhone 앱을 개발 중이다. 여러 요청을 통해 여러 번 통신해야합니다. HTTP 메시지를 보내고 있지만 더 복잡한 응답을 받고 싶습니다. 어떻게 든 구문 분석 할 수 있습니다. 아마도, 나는 서버에서 응답 형식에 대한 모든 유형을 제공 할 수 있습니다, 그래서 내 질문 : Objective-C/Cocoa 사용/구문 분석 및 어떤 종류의 사전 변환 쉽게 (어쩌면 더 빨리) 될 것이라고?백엔드와 Objective-C/Cocoa 사이의 통신을위한 포맷

조금 주관적이지만 여전히 유효한 질문이라고 생각합니다. 일부 프로그래밍 언어는 일부 형식을 더 많이 지원하고 다른 언어는 지원하지 않습니다.

답변

2

코코아의 관점에서 가장 간단한 형식은 property list입니다. 코코아는이를 기본적으로 사전이나 배열로 구문 분석 할 수 있습니다.

사전에 plist 파일을 읽을 때 NSDictionary의 +dictionaryWithContentsOfFile:+dictionaryWithContentsOfUrl:을 사용할 수 있습니다.

plist 데이터가 파일에 없으면 plist 데이터가 들어있는 NSData 객체를 +[NSPropertyListSerialization dataFromPropertyList:format:errorDescription:]으로 사전으로 변환하거나 NSString을 -[NSString propertyList]으로 사전으로 변환 할 수 있습니다.

+0

JSON과 PLIST를 모두 사용했으며 PLIST쪽으로 기울어졌습니다. 그 빌어 먹을 너무 빨리. –

+0

좋아, 첫눈에 꽤 멋지다. 그러나 지금까지 나는 나의 특정한 시나리오에서 무엇을해야하는지 이해하지 못했다. XML (Obj-C)이 NSString에 이미 있습니다. 그것이 또한 plist convension을 가지고 있다고 가정합시다. plist-xml-string을 사전으로 변환하는 방법은 무엇입니까? – treznik

+0

내 대답에 대한 정보를 추가했습니다. 이 정보는 위에 링크 된 속성 목록 프로그래밍 가이드에서도 사용할 수 있습니다. –

2

PList는 좋은 대답이고 매우 유용하지만 많은 서버 측 사람들이 JSON을 더욱 편안하게 만들 수 있습니다. TouchJSON은 iPhone 용 JSON 파서입니다.

1

plist gem for ruby이 있지만 JSON 또는 (원시) XML은 Apple 세상에서 훨씬 인기가 있습니다. 예를 들어 대부분의 자바 스크립트 라이브러리는이 중 하나 또는 둘 모두를 사용하도록 설정됩니다.

독점적으로 iPhone과 대화하는 경우 plist가 좋은 선택 일 수 있지만 그렇지 않으면 JSON (또는 XML) 사용을 고려해야합니다.