CKRecord
Swift의 클래스 지정은 setObject:forKey:
을 사용하여 CKRecord
의 값을 설정한다고 말합니다. 그러나 NSValueCoding
프로토콜의 일부인 setValue:forKey:
으로 많은 코드 예제를 볼 수 있습니다. 누군가 다른 사람의 이점이 무엇인지 설명 할 수 있습니까?CKRecord setValue : forKey 또는 setObject : forKey
0
A
답변
2
불행히도 setValue:
은 매우입니다.
쉬운 규칙 :
키/값 컬렉션 타입의 키에 대해 개체를 설정하는 방법은 상기 지정된 setObject:
또는 가입 키이다.
setValue:
은 특별한 의미의 키 - 값 코딩 방법입니다. 예를 들어 배열의 모든 사전 (또는 사용자 정의 객체)의 동일한 속성을 한 줄로 동시에 설정할 수 있습니다. setValue:
은 적절한 설정기를 사용하지 않고 리터럴 키로 사용자 정의 클래스의 속성을 설정하는 데에도 사용할 수 있습니다. 예를 들어
구
object.name = "foo"
및
object.setValue("foo", forKey:"name")
는 기본적으로 동일한다.
setValue:
을 사용하는 예외 중 하나는 NSManagedObject
입니다.이 클래스는 키 - 값 - 코딩에 크게 의존하기 때문입니다.
편집 :
요약 (rmaddy의 우수한 주석의 문자 인용, 감사) : 당신은 키 - 값 코딩을 사용하는 명확하고 구체적인 필요성이있을 때
이만 setValue:forKey:
를 사용합니다.
관련 문제
- 1. NSMutableDictionary setObject forKey forKey ... etc
- 2. setObject : forKey : NSMutableDictionary의 메소드
- 3. __NSDictionaryI setObject : forKey : 크래시
- 4. NSDictionaryM의 setObject : forKey : EXC_BAD_ACCESS 충돌
- 5. -setValue 사용 : forKey : vs "object.var = ..."
- 6. setValue : forKey :와 NSMutableArray : forKey : forKey의 차이점은 무엇입니까?
- 7. 커스텀 코어 데이터 접근기 - setValue : forKey : 대 setPrimitiveValue : forKey :
- 8. setObject의 차이점은 무엇입니까? forKey setObject : forKeyedSubscript
- 9. NSMutableDictionary setObject : forKey - 사용자 정의 클래스
- 10. NSMutableDictionary SetObject : ForKey : NSDictionary 객체를 삽입하지 않습니다.
- 11. Objective-C setValue : forKey (원시 타입)
- 12. 스레드에서 NSManagedObject setValue forKey 루프 루핑
- 13. 응용 프로그램 충돌 [자기의 setValue : forKey :]
- 14. setValue : forKey :?를 재정의 할 수 있습니까?
- 15. windowScriptObject의 WebView 메모리 누수 setValue : self forKey :?
- 16. [__NSCFDictionary setObject : forKey :] : 변경 메소드가 불변 객체로 전송되었습니다.
- 17. setObject : forKey : of NSMutableDictionary는 사전에있는 모든 데이터를 덮어 씁니다.
- 18. NSMutableDictionary의 setObject : forkey : 아래의 코드에 대한 인식 선택 메시지
- 19. setObject : forKey : 변경 가능한 메소드가 불변 객체로 전송
- 20. NSUserDefaults setObject : forKey : 비 속성 목록 개체 삽입 시도
- 21. NSMutableDictionary setObjectct forKey id NSString
- 22. [NSMutableDictionary setValue : value forKey : key]가 NSString 키를 유지합니까?
- 23. [UIDevice setValue : forKey : @ "orientation"]없이 UI 방향을 변경하는 방법
- 24. setValue에서 충돌 : forKey :
- 25. UIView-layer addAnimation : forKey :
- 26. animationDidStop의 forKey 값
- 27. CoreData validateValue : forKey :
- 28. setValue를 사용하여 다른 CATransform3D를 만드는 방법 : forKey :
- 29. NSInteger 및 decodeInteger : forKey : 문제
- 30. setPrimitiveValue : forKey : and many to many relationships
tl; dr - 키 - 값 코딩을 명확하고 명확하게 사용해야하는 경우에만'setValue : forKey :'를 사용하십시오. – rmaddy