본문 바로가기

Objective-C와 IOS

viewDidLoad 와 viewWillAppear 차이점! 아음 오브젝티브 C 메서드가 너무 많다 ㅠㅠㅠViewController 라는 놈에의해 실질적으로 앱이 동작한다는데 그안에 보면 viewDidLoad와 viewWillAppear 같은 메서드들이 있다.. viewDidLoad는 view가 생성되고 난뒤에 불리는 놈이라고 하고 viewWillAppear는 View가 사라졌다가 나타날때(Back key)시 호출되는 놈이라고 한다.즉 안드로이드의 onCreate가 viewDidLoad 메서드 이고 onResume이 viewWillAppear라는 것이였다.음 이런식으로 쫙 비교된 사이트가 있으면 이해하기 쉬울텐데 ㅠㅠ재미있으면서 머리아픈 오브젝티브 씨 !!! 더보기
Could not insert new outlet connection: Could not find any information for the class named 에러 이제 문법책을 띄고 실질적인 IPhone앱개발 책을 가지고 예제를 따라치는데 역시나 뜻하지 않은 에러"Could not insert new outlet connection: Could not find any information for the class named"이건 또 뭔가..하여 역시나 구글해 보니 xcode에러라고 한다.해결 방법은1. 새롭게 작성한 클래스 파일을 지운다 (파일삭제가 아닌 리스트에서만 삭제)2. 다시 해당 클래스 파일을 ADD시킨다.3. xcode를 재시작 한다. 끝~~ 이 후 빌드하고 실행하니 잘나온다 ㅎㅎ 더보기
Objective C New와 Alloc의 차이 책을 보는데 이전과 다르게 인스턴스 생성시 New를 쓰길래 alloc init 과 뭐가 다른지 궁금해서구글링 해봤다.The NSObject life cycleTo create an NSObject, send its class either an alloc or a new message:id anObject = [NSObject new]; // Creates and returns an initialized object id anotherObj = [NSObject alloc]; // Not yet ready for use...anotherObj = [anotherObj init]; // ...now it is. // good style: combine alloc and init:id oneMoreObj = .. 더보기
Incompatible pointer types sending warring. 오늘도 열심히 예제코드를 따라하는데 결과값이 책과 달라 찾아보니 다음과 같은 Warring 메시지가 있었다Incompatible pointer types sending 'int(param1,param2,void *)' to parameter of type 'NSInteger (*)(id,id,void *)'리턴받는 타입이 다른다는거 같은데 책을 읽어보니 본문내용에는 함수가 리턴하는 값은 NSComparisonResult라는 열거형 정수라고 써있네?? 뭐지 -___-그래서 문제가 되는 compare함수의 리턴타입을 NSComparisonResult 로 변경해주고 다시 실행해보니예제와 똑같이 나온다 ㅎㅎ 예전에는 걍 int만 해도 됐던건가 -__-)a아 복잡해!!! 더보기
automic reference counting mode 에러.. Xcode를 설치하고 objective-c를 공부하던 중 예제 소스를 치다 보니 NSAutoreleasePoll을 사용하니 NSAutorealsePool is unavailable. not available in automatic reference counting mode. 라며 에러가 나서 검색 해봤다.옵젝티브 C는 메모리 관리를 위해 레퍼런스 카운트를 사용하는데 이때 직접 코드로 alloc과 release를 해줘야하기도 하고 자동으로 관리해주는 AutoRelease가 있다고 한다.무튼 프로젝트 셋팅에서 설정해 주면 되는거 였다 아래 그림처럼 Objective-C Automatic Reference Counting 부분을 NO 로 설정해주면 에러 안남 ㅎㅎ 문법이 낯설긴하지만 새로운 언어를 공부하니 재.. 더보기