티스토리 뷰
오늘은 약간 엉뚱한 것을 공부하다가 이런것을 찾게 되어서 소개를 하려고 합니다.
NSKeyValueCoding을 이용하여 개발이 된 클래스들은 valueForKey: 를 가지고 있게 됩니다.
그런데 이 valueForKey의 동작이 약간 상이하게 되는 순간이 있는데요
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | @interface NSMutableDictionary (MyDic) - (NSString *)foo; @end @implementation NSMutableDictionary (MyDic) - (NSString *)foo { return @"I'm super"; } @end // code NSMutableDictionary *dic = [[NSMutableDictionary alloc] init]; [dic setObject:@"I'm child" forKey:@"foo"]; NSLog(@"%@", [dic valueForKey:@"foo"]); //-> I'm child NSLog(@"%@", [dic valueForKey:@"@foo"]); //-> I'm super | cs |
위처럼 개발이 되었을 경우에, @를 붙여서 사용을 하게 된다면, super class의 값을 가져와서 사용을 하게 됩니다.
뭐... 딱히 이렇게 사용을 하게 되면, 헷갈리게 코딩이 되는 문제가 있겠지만, 이것을 이용한다면 하나의 디폴트 값을 이용하여 개발을 할 수 있을것 같네요.
'Mobile > iOS' 카테고리의 다른 글
[iOS/swift] Screen Orientation (0) | 2017.12.31 |
---|---|
[iOS/Objective-C] KVO (0) | 2017.12.31 |
[iOS/Objective-C] __weak, __block (0) | 2017.12.29 |
[iOS/swift] Objective-C 와 swift를 함께 사용하기 (0) | 2017.12.22 |
[iOS/Objective-C] 유용한 수학 함수 (0) | 2017.12.19 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- enum
- Kotlin
- SWIFT
- cocoapods
- Xcode
- centos8
- Windows
- MySQL
- rxswift
- war
- docker
- Python
- github
- php
- Spring
- CentOS
- Linux
- intellij
- nodejs
- Codable
- android
- ubuntu
- Gradle
- golang
- windows10
- git
- tomcat
- ios
- go
- Java
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함