-
segue 사용 시 unexpectedly found nil while unwrapping an Optional value 에러 발생
segue 통해서 뷰컨트롤러에서 다른 뷰컨트롤러로 데이터를 전달하려고하는데 엉뚱한데서 문제가 발생했다.
2016.12.09
-
OCMock을 통한 간단한 테스트 케이스 작성
OCMock을 통한 간단한 테스트 케이스 작성과 원리 그 동안 간단한 모델 로직만 테스트 케이스를 작성했었는데 OCMock을 통해서 mock객체를 만들고 테스트를 작성하는 법을 배웠다.
2015.05.19
-
오토레이아웃을 사용할때 버튼 사이즈 강제로 변경하기
Autolayout이나 Autoresizing 때문에 button의 위치나 사이즈가 코드로 변경해줘도 실제로 적용이 안될 떄,
2015.05.19
-
키보드가 테이블뷰 하단에 있는 텍스트필드를 가리지 않도록 하는 방법
키보드가 테이블뷰 하단에 있는 텍스트필드를 가리지 않도록 하는 방법
2015.05.19
-
NSString의 format argument 순서를 지정하는 방법
NSString의 format argument 순서를 지정하는 방법
2015.05.19
-
iOS 버전 비교하기
I always keep those in my Constants.h file: Constants.h 파일을 만들어 그 안에 아래와 같은 매크로를 만들어 사용한다.
2015.05.19
-
UIApplicationOpenSettingsURLString를 이용해 앱에서 설정 앱으로 전환 시키기
iOS8에서부터 새로 추가된 로직 앱에서 카메라나 GPS 권한을 얻지 못했을 때 설정 앱으로 전환시켜 권한을 설정하도록 유도할 수 있다.
2015.05.19
-
App-info.plist 파일이 수정이 안될때
Xcode에서 App-info.plist의 정보를 수정했는데도 저장이 안되고 자꾸 이전으로 돌아올 때, 혹시 파일이 잠겨있는지 확인해보자
2015.05.19
-
다른 뷰컨트롤러에서 테이블뷰 리로드 시키기
@Class 2
2015.04.18
-
UIView의 layoutSubviews 메서드 호출 시점
UIView 의 크기가 변경되면, 크기가 변경된 UIView 의 서브뷰들은 위치와 크기가 조정되어야 한다. UIView는 이를 위해 자동과 수동으로 UIView의 layout을 조정하는 방법을 제공한다.
2015.01.29
-
iOS8, 새로운 크기의 iPhone
드러나는 현상 해상도는 커졌고 (컴포넌트들이 작아짐), 그래도 선명함. 키보드가 스크린에 차지하는 비율이 줄어듦. 기존 씬을 기기에 맞춰서 확장 일부는 레이아웃 깨짐 테이블 등 공백이 생김.
2014.10.23
-
Effective Objective-C
오브젝티브-C의 기원과 친숙해져라
2014.09.09
-
Objective-C 코딩 지침
단어 조합 규칙 메서드명 유형 접두어를 붙이지 않습니다. 첫 글자는 소문자로 시작합니다. 예: strings, anElement, stringByExpandingTideInPath 함수명 유형 접두어를 붙입니다. 접두어 다음의 글자는 대문자로 시작합니다. NSData, CFString, NSRunAlertPanel 예외는 잘 알려진 약어가 첫 단어일 때, 예: URLWithString: 접두어(prefix) 언더스코어(_)로 시작하는 이름은 금지 애플 사가 API를 구성하는 동안에 사용하는 인스턴스 변수나 비공개 메서드명으로 사용한다고 명시 됨. 이름에 사용하는 단어 간결한 이름이 좋다고 단어를 줄이는 건 피해야 함. 단, 널리 사용되고 역사가 오래 된 줄임말은 허용. alloc...
2014.06.01
-
애플리케이션 생명 주기
미실행 상태 기기를 새로 부팅한 후 모든 앱이 속하는 상태이다. Info.plist (값이 YES로 설정된) UIApplicationExitsOnSuspend 키가 들어 있는 경우 어플리케이션이 이전에 실행 중단되었고 시스템에서 일부 메모리를 제거하는 경우 어플리케이션이 실행 도중 충돌로 인해 종료한 경우 활성 상태 어플리케이션이 화면에 보이고 어플리케이션이 실행되는 정상 상태다. 사용자의 입력을 받고 디스플레이를 업데이트할 수 있다. 백그라운드 상태 일부 코드를 실행할 수 있는 시간이 어플리케이션에 주어지지만, 어플리케이션이 화면에 직접 접근하거나 사용자 입력을 받을 수는 없다. 모든 어플리케이션은 사용자가 홈 버튼을...
2012.11.05
-
데이터 타입 변환
[문자를 숫자형으로] String -> int, float, double
2012.11.05
-
Grand Centered Dispatch(GCD) 개요
다중 스레드 프로그래밍
2012.11.03
-
IBOutlet의 변화
예전에는 속성과 아웃렛에 사용하는 내부 인스턴스 변수를 모두 선언했다. 그 당시 속성은 오브젝티브-C 언어에 새로 추가된 구조체였으며, 속성을 선언하려면 다음과 같이 대응되는 인스턴스 변수도 함께 선언해야 했다.
2012.10.24
-
Xcode 4.5에서 iOS5 버전을 지원하려면
'NSInvalidUnarchiveOperationException', reason: 'Could not instantiate class named NSLayoutConstraint'
2012.10.24