본문 바로가기

IOS

[주접 iOS] UIImagePickerController ( 쉬운 설명, easy-explained ft. cocoapods ) 1. UI Image Picker Controller 1. 이 놈의 능력 이 객체는 뭘 할 수 있는 놈일까요? 공식 문서에 답이 있죠 항상 ... 1. 사진을 직접 찍어서 불러오기 2. 동영상을 직접 찍어서 불러오기 3. 사진 또는 영상을 앨범에서 가져오기 크게 이 세 가지를 하는 놈입니다. 2. 사람들이 보통하고 싶어하는 것들 그럼 보통 저희가 저놈의 저 능력을 어떻게 이용하려고 하죠? 보통의 경우 : 1. 유저가 원하는 사진 또는 영상을 찍어서 업로드 하기 2. 사진, 영상이 있는 갤러리에서 자유 자재로 골라서 하나 또는 여러개를 업로드 하기가 대부분의 경우 위 두 가지 경우로 나눌 수 있겠네요 !! 그렇쥬? 1에 도전해 봅시다 그러면. 이거 하면 반은 정복하는 거에요. 매우 간단하니 레츠고~ 항상 .. 더보기
[꾸준i-OS] alignment rectangle( 쉬운 설명, easy-explained ) 0. 설명 전 판깔기 우선 오토레이아웃을 쓰는 이유가 뭐였죠? 절대적인 좌표계를 사용하는 것은, 마치 스크린의 사이즈를 미리 알고 있다고 가정하고 쓰는 것입니다. 그래서 만약, 아이폰7의 좌표를 기준으로 만든 앱이 아이폰 11프로 또는 랜드스케이프 모드의 아이패드에서 사용된다면, 당연히 매우 작게 보일 거고, 화면에 레이아웃이 이상하게 잡히겠죠. 저런 문제를 방지하기 위해, UIView의 frame이 런타임 동안에 계산되면서 실시간으로 사용되고 있는 스크린 사이즈를 고려해서 결정될 수 있게 해주는 것이 autolayout입니다. 뜬긊없이 오토레이아웃이 왜 나오냐구요? 오토레이아웃이 바로 오늘 다룰 주제인 Alignment Rectangle을 기준으로 작동하기 때문입니다. 1. 도대체 Alignment R.. 더보기
[꾸준i-OS] unwind segue (쉬운 설명, easy-explained) # 단어 뜻 영어 단어의 뜻을 먼저 살펴보니, '풀다'네요. 또한, 이 단어는, 비디오에 대한 맥락에서 보면, 되감다의 의미도 됩니다. 즉, 세그웨이를 통해, 하위 스크린으로 이동한 것을 "되감는", "돌아가는" 세그웨이 입니다. # 스크린 되감기의 여러 방법 1. delegate가 되어, 상위 스크린을 네비게이션 컨트롤러 레퍼런스를 이용해 pop하기. * 이 방법 많이 쓰죠. * delegate protocol을 정의하고, * 상위 스크린은 그 프로토콜을 채택하고, * 델리게이트 메소드를 구현하고, * 세그웨이 prepare할 때 다음 스크린의 델리게이트가 되고 * 그 다음 스크린에서 '완료' 버튼에 대한 액션 메소드로서, delegate의 메소드를 호출합니다. * 이 시점에, 그 다음 스크린에서 생성.. 더보기
Handling low-memory situations 한 앱에 배정된 메모리 양이 얼마 남지 않았을 때, UIKIT는 "LOW MEMORY WARNING"을 보낸다. 그 때는, 메모리에서, 현재 들고있지 않아도 되는 것들을 해제시킬 필요가 있다. > 특히 다음과 같은 상황에 경고를 받기 쉽다 : 1. 다른 앱들이 백그라운드에 있는 상황. 2. 이미지 픽커를 통해, 갤러리에서 사진을 가져오고 있는 상황. > Action : 다음의 메소드를 오버라이드 하여, 현재 필요없는 것 떨구기 : override didReceiveMemoryWarning( ) { } * 여기서, 현재 당장 필요없거나, 쉽게 다시 만들고 다시 불러올 수 있는 것들을 해제한다. * 예를 들어, 메모리가 부족하다면, thumb-nail들을 메모리에서 해제해도 되고, 캐시된 객체들을 해제해도 .. 더보기
[꾸준i-os] ios extension : 타입을 정의를 확장하기 주요 사용 목적 1. 관련된 기능들을 그룹화 2. 클래스, 스트럭트, 이뉴머레이션에 희망하는 기능을 추가 != 상속과는 다른 점 추가 가능한 것 > 메서드 > computed property > 다른 속성과 메서드를 결합한 새로운 편의 속성 만들기 가능 추가 불가능한 것 > instance variable > 객체의 템플릿 자체를 재정의할 수는 없다. 더보기
[꾸준i-os] Memory Leak Monitoring Tools 메모리릭 발생을 감지하는 방법 c11.kr/jp9o iOS 메모리 뜯어보기, 메모리 이슈 디버깅하기, 메모리 릭 찾기 좋은 사용자 경험을 제공하기 위해서 메모리 관리는 아주 중요합니다. iOS의 메모리는 한정된 자원이며, 여러 프로세스가 공유하는 공유 자원입니다. 만약 메모리 누수가 계속 일어나서 현재 앱 seizze.github.io 좋은 글을 찾아서 공유드립니다. 더보기