저는 iPhone dev 및 Objective-C에 대해 정말 새로운 (약 2 일)이라고 말함으로써 시작하겠습니다. 구문, 메모리 관리 등에 익숙해졌습니다.간단한 RestKit 콜백 인터페이스를 구현하는 방법은 무엇입니까?
RestKit을 사용하여 JSON REST 요청을 허용하는 서버와 상호 작용하려고합니다. GET 요청을 실행 한 후에 나는 형태의 데이터를 얻을 :
GET : /api/beast/1/
{
'species' : 'elephant',
'resource_uri' : 'api/beasts/1/',
'owner' : '/api/beastmaster/3/',
'name' : 'Stampy'
}
GET : /api/beastmaster/3/
{
'resource_uri' : '/api/beastmaster/3/'
'first_name' : 'Bart',
'last_name' : 'Simpson'
}
건은 beast
객체의 owner
속성이 실제 전체 JSON 표현으로, 때로는 때로는 자원 URI 문자열로 채워 및 때문이다 객체의로는 다음과 같습니다 : 내가 원하는 무엇
{
'species' : 'elephant',
'resource_uri' : 'api/beasts/1/',
'owner' : {
'resource_uri' : '/api/beastmaster/3/'
'first_name' : 'Bart',
'last_name' : 'Simpson'
},
'name' : 'Stampy'
}
, 그것은 여부를 확인해야 비동기 적으로 owner
속성을 요청할 수있는 사용하기 쉬운 인터페이스를 제공하는 것입니다 객체의 전체 표현을 이미 가지고 있으며,이 경우 즉시 콜백을 실행하거나 그렇지 않은 경우 적절한 GET 요청을 실행하고 응답이 도착하면 콜백을 실행합니다. 이 자바 스크립트 인 경우
, 몇 가지 방법이있을 수 있습니다 달성하기 위해 : 나는 요청을 실행하는 동일한 개체에 대한 응답을 처리 할 수있는 프로토콜을 구현 본 적이
//Alternative 1
beast.getOwner(function(owner){
console.log("Owner is: " + owner);
});
//Alternative 2
beast.get("owner", {
'success' : function(){...},
'error' : function(){...}
});
대부분의 RestKit 예를. 이 경우에는 하나의 클래스가 다양한 관련 객체 속성 (비동기 적으로 얻어 질 것임)을 요구할 수 있기 때문에 나는 이것을 좋아하지 않는다.
모델 클래스를 사용하여 나머지 응용 프로그램을 개발할 다른 프로그래머에게 간단하고 명확한 인터페이스를 제공하여 원하는 동작을 얻는 가장 좋은 방법은 무엇입니까? 어쩌면 블록을 사용하고 있을까요?
을 촬영 한 것입니다. 주어진 URL은 항상 json을 동일한 형식으로 반환합니다. 단 한 단계 깊숙이 간다는 것입니다. 그래서 'beastmaster'가'좋아하는 것 '속성을 가지고 있다면 말입니다. 그런 다음 '짐승'의 표현은 '소유자'를 URI로 표시합니다. 그러나 최상위 객체가 '짐승'이라면,'owner' 속성은 완전한 json 객체가 될 것입니다. 이것은 json에서 무한 순환 참조를 피하기위한 것입니다.BTW, 링크 덕분에 도움이 될 것입니다. –