블록 개념을 이해하려고합니다. 지금까지 읽은 내용은 개념적으로 JavaScript의 익명 함수와 비슷합니다. 이 올바른지?Objective-C 블록은 JavaScript의 익명 함수와 유사합니까?
6
A
답변
4
예, 가장 큰 부분. 블록은 종류 - C 함수는 주변 범위에서 변수를 캡처 할 수있는 객체처럼 종류 -과 같이 취급됩니다. 익명의 함수는 블록과 동일하지만 블록의 복잡한 기계 때문에 복잡하지는 않습니다.
예를 들어, 블록을 정의한 함수/메소드가 더 이상 활성화되지 않는 블록을 사용할 계획이라면 블록을 속성으로 설정하거나 GCD (다중 - 코어 운영 대기열 라이브러리), Block_copy()
(또는 [aBlock copy]
)으로 복사해야합니다. 세부 사항은 다루지 않겠지 만, JS (익명) 기능을 사용하는 것은 아닙니다. 블록 리터럴이 스택 (코드의 어딘가가 아닌)에 할당되고 계속 유지하려면 힙에 복사해야한다는 사실과 관련이 있습니다.
상당히 복잡 할 수 있지만 디자인면에서는 매우 아름답습니다. 그러나 대부분의 경우에는 다소 쉽지만 익명의 JS 함수처럼 취급 할 수 있습니다. ;-)
3
예. Objective-C의 블록은 클로저입니다.
관련 문제
- 1. 노드의 네이티브 함수와 익명 함수를 구별합니다
- 2. obtrusive javascript의 익명 기능 - 브라우저 의존성?
- 3. JavaScript의 "this"객체와 혼동 익명 함수
- 4. NumberFormatter - ObjectiveC
- 5. 프로토 타입 함수가 javascript의 일반 함수와 다른 점은 무엇입니까?
- 6. 블록은 항상
- 7. InterfaceBuilder에서 이미지 시퀀스로드 -ObjectiveC
- 8. ObjectiveC 임의 숫자
- 9. MulticastDelegate in ObjectiveC
- 10. Shapefile with ObjectiveC
- 11. Wordpress is_first_page() 또는 유사합니까?
- 12. ObjectiveC/iPhone의 TwitPic API 사용하기
- 13. iphone objectiveC 할당/해제 질문
- 14. Python의 AppKit 및 ObjectiveC 대리자
- 15. 2D 동적 메모리 할당 - ObjectiveC
- 16. jquery와 javascript의 클로우즈
- 17. Django Haystack 결과는 QuerySet과 유사합니까?
- 18. 브라우저에서 실행중인 JRuby의 ncurses와 유사합니까?
- 19. Wiki 페이지 생성은 Trac과 유사합니까?
- 20. 다음 데이터 형식 할당은 유사합니까?
- 21. Android는 Google의 Youtube 앱과 유사합니까?
- 22. 마코는 장고의 "공간이없는"태그와 유사합니까?
- 23. xpath에서 쉼표 연산자는 c와 유사합니까?
- 24. 함수와 변수
- 25. 인스턴스 init 블록은 언제 호출됩니까?
- 26. 이맥스, 장고 템플릿과 스크립트 블록은
- 27. Do 블록은 With 문과 동일합니까?
- 28. UDP sendto() 블록은 언제 차단합니까?
- 29. 익명
- 30. javascript의 file_Get_contents