본문 바로가기

개발 블로그25

[Objectvie-c 의 블록] objectvie c 블록[block] 1장. 이 글은 제가 공부했던 것을 정리 했을 뿐이니..혹시 제가 잘못 된 것을 알고 있다면 댓글로 꼭 알려주세요.! Objective-c 블록(block) 먼저 objectvie-c(옵젝) 의 블록에 대해서 알아 보자. 'iOS와 OS X의 메모리 관리와 멀티스레딩 기법" 에서는 블록은 '지역 변수와 함께 동작하는 익명 함수' 라고 정의를 내렸다. 익명 함수란? 말 그대로 이름이 없는 함수를 말한다. 다른 언어에서는 클로저, 또는 람다라고도 말한다. ^ 리턴 타입 (인자 목록) (표현) 예) ^ int (int count) { return count + 1;} 이런식으로 표현이 된다. 변수로 선언을 할 경우 int (^blk)(int) = ^(int count){return count +1}; (아무리 해도 .. 2019. 11. 8.
frame 과 bounds 차이라면..? Swift, Xcode, iOS 개발 요즘엔 storyboard 또는 code로 autolayout 기준으로 UI 작업을 하기 때문에 frame과 bounds는 잘 사용하지 않는다. 하지만 런타임중 어떤 뷰를 생성해야 할 때... 애니메이션을 할 때 필요할 경우가 생긴다. 그럼 간단히 frame과 bounds 기준을 알아 보자. 일단 알아 두자....알면 좋다... frame: frame으로 기준을 잡을 때는 나의 위,, 그러니깐 super view 기준이다. 그 기준 0,0 기준으로 나 자신의 위치가 결정된다. bounds:이건 그냥 온 세상의 중심은 나..내가 중심이다. super view 어찌 됐든지.. 그냥 내가 0.0이다 frame 기준으로는 (50,50) 이어도 bouds는 (0,0)이다 그러니깐 기준이 superview냐.. 아.. 2019. 10. 30.
델리게이트(Delegate) 위임 패턴이란? 델리게이트란? 델리게이트의 정의를 위키 사전으로 한번 보자 위임 패턴 위임 패턴 - 제타위키 다음 문자열 포함... zetawiki.com 간단히 어떤 객체가 할 일을 부분적으로 대신 처리한다.라고 정의될 수 있다. 아이폰 앱 개발을 하게 되면 자연스럽게.. 아니.. 당연히 알아야 하는 패턴 같다. 델리게이트 패턴은 TableView를 사용하게 되면 자연스럽게 TableviewDelegate, UITableViewDataSource를 구현하게 된다. TableviewDelegate는 이벤트를 담당하는 것이고 데이터 소스는 테이블 뷰에 적용되는 정보를 넘겨줄 때 사용을 한다. 정의처럼 우리가 테이블 뷰를 화면에 그려줄 때 우리는 셀의 갯 수, 섹션의 수, 그리고 TableViewCell의 정보, Table.. 2019. 10. 23.
ARC, 순환참조와 소유권 지시어 (iOS, xcode) ARC, 순환참조와 소유권 지시어 (iOS, xcode) "iOS와 OS 의 메모리 관리와 멀티스레딩 기법" 이란 오래된 책을 다시 요즘에 읽어 소유권 지시어에 대한 내용을 적어 본다. ARC (Automatic Reference counting)은 메모리 관리를 컴파일러가 직접 한다. iOS 개발을 처음 시작 할 때는 retain/release의 코드를 직접 넣어 주어 메모리 관리를 했다. 하지만 ARC가 나오면서 release를 실수로 잘못 넣어주어 런타임 크래쉬 발생이 되는것을 고려 안 해도 되고 메모리 관리도 쉽게 도와주었다. 물론 순환 참조는 아직 유의를 해야 하지만.. 일단 ARC가 나오면서 strong, weak라는 새로 등장한 소유권 지시어가 나왔기 때문에 설명을 이어가겠다. 레퍼런스 카운.. 2019. 10. 22.