교재를 예전버전들것으로 가지고 있다 보니깐...ARC관련하여서 문제가 많이 생긴다.xcode의 ios5버전 이상의 컴파일시에 에러가 많이 난다. dealloc이거나 release등등에러문구? 'ARC forbids explicit message send of 'dealloc' 방법들이 존재한다.1. 당황하지 말고~ 프로젝트를 다시 만들어서, Use Automatic Reference Counting을 체크 해제를 해준다.2. Project> Build Settings> Apple LLVM 5.0 - Language - Objective C > Objective-C Automatic Reference Counting을 No로 변경3. 과감하게, dealloc나 release등을 사용하지 않는다. 직접 핸들..
Objective-C의 nil과 NULL이라는 상수는 기술적으로 혼용이 가능하다.일반적으로 nil은 객체 참조에 사용되고, NULL은 그 밖의 다른 포인터 자료형에 사용된다.(예 DClass* dClass = nil, int* dInt = NULL) 중요한 부분은 자바에서는 객체 참조값이 null이면 NullPointerException이 발생하여서, 문제가 생기게 되는데,Objective-C는 이런 부분이 발생하지 않게 되어 있다. 헐. 이유는 ... Objective-C는 메시지 전송과정에서 중앙 메시지 전송 함수가 수신인의 포인터 값을 확인하여서, 수신자 포인터가 null이면 메시지 전송함수는 즉시 반환되기 때문.즉, 메시지 수신 객체가 nil 값이라도 Exception이 발생하지 않는다. 단. 리..
프로토콜클래스 사이에서 공유되는 메서드 목록.즉. 자바로 따질경우에는 abstract가 된다. (Objective-C의 @interface아님) 일단 사용방법은 간담함. 상속받는 클래스 뒤에 에 넣어줌@interface MyClass : NSObject 만들때에는 이런식으로 만듬. protocol은 반드시 구현. optional은 선택사항 @protocol Drawing- (void) paint;- (void) erase;@optional- (void) outline;@end 객체가 프로토콜을 따르는지의 여부 확인. 예제는 object가 Drawing를 따르는지를 확인int object;[object conformsToProtocal: @protocol (Drawaing)] == YES protocol을..
클래스 정의를 다루던 도중 새 메서드를 추가하고 싶을 때가 있을거란다.내 생각에는 내가 만든 클래스는 그냥 추가하면 될것 같은데... 예제라서 그렇게 한거 같고.남이 만들어서 추가할수 없는 녀석들에 대해서 적용하는 용도일듯.다른 분들은 엄청나게 강력하다고 이야기들을 하신다... 왜 나만 이렇게 부정적이지. 아무튼.일단 구현방식은 너무나도 쉽다. New File에서 Category를 선택하면 된다. 이 것을 구현하고 나서 할짓은,import문에 들어가 있던 부분의 header파일의 이름을 변경하여 주면된다.흠... 글쓰는 아직까지도 엄청나게 어마어마하게 상속보다 강력한것을 못 느끼고 있음...한가지 장점을 따지자면, 모태가 되는 클래스가 존재할 경우에, 이 부분들에 대해서 각각의 모듈을 작성할수 있을듯.소..
id형을 사용하게 되면, 자바에서의 instanceof와 같이 객체를 비교하는 부분이 당연히 필요할것이다.여러가지가 존재하는데, isKindOfClass, isMemberOfClass 만 많이 쓸듯.[]안의 내용들은 비교할 대상? 이다. 메서드액션 - (BOOL) isKindOfClass:[class-object]객체가 class-object의 멤버이거나 자식 클래스의 멤버인가? - (BOOL) isMemberOfClass:[class-object]객체가 class-object의 멤버인가? - (BOOL) respondsToSelector:[selector]객체가 selector로 지시한 메서드에 응답할 수 있는가? + (BOOL) instancesRespondToSelector:[selector]지정한..
- Total
- Today
- Yesterday
- intellij
- Python
- war
- android
- Spring
- rxswift
- cocoapods
- enum
- Codable
- Linux
- tomcat
- centos8
- Gradle
- Java
- CentOS
- Kotlin
- Windows
- github
- docker
- golang
- windows10
- php
- Xcode
- ubuntu
- nodejs
- git
- go
- MySQL
- ios
- SWIFT
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |