Cocoa/OBJ-C에서 KVC의 부울을 어떻게 마무리합니까?
-
21-08-2019 - |
문제
KVC를 사용하여 몇 가지 조회수를 반복하고 있습니다. 부울 속성을 설정하는 데 어려움이 있습니다.
[self setValue:YES forKeyPath:[NSString stringWithFormat:@"myView%d.userInteractionEnabled", n]];
나는 얻다: 경고 : 'setValue : FekyPath :'의 인수 통과 1 : 캐스트없이 정수에서 포인터를 만듭니다.
nsvalue valuewithbool : 예] 또는 내가 찾을 수있는 유사한 것이 없습니다.
무엇을해야합니까?
해결책
컴파일러는 첫 번째 인수이기 때문에 경고를 생성하고 있습니다. -setValue:forKeyPath:
기대와 대상. 예는 대상이 아닙니다.
답은 "nsvalue.h"에 있습니다.
[NSNumber numberWithBool: aBool]
이후의 Xcode 버전에서는 문자 구문을 사용할 수 있습니다.
[foo setValue:@YES forKey:@"bar"]
다른 팁
당신은 또한 문자 그대로 표현식 @(예)를 사용할 수 있습니다.
더 많은 정보를 위해서LLVM Objective-C 리터럴
제휴하지 않습니다 StackOverflow