레코드 유형에 새 필드를 추가하려고하면 Bool 유형을 추가 할 수 없습니다. 어쨌든 어떻게해야합니까? CKRecord.The 최선의 선택에 사용할 수있는 부울이 존재하지 않는레코드 유형에 Bool 유형으로 필드를 생성하려면 어떻게해야합니까?
2
A
답변
0
값 int (64)이다.
3
Creating a Database Schema by Saving Records 애플 설명서를 참조하면, 다음 표 CloudKit를 포함 가능한 필드 유형 :
불행하게도, 찾을 수 없습니다 BOOL 타입은 없습니다. 때문에 내가 -logically-을 발견하는 것은, BOOL의 교체가 Int(64)
입니다으로 가장 적합합니다 :
지능 (64) 클래스가 테이블 -에 언급 -as 것은 스위프트 BOOL을 반환하는 boolValue
이있는 NSNumber입니다 :
숫자 객체의 값은 부울 값으로 표현됩니다. 0 값 은 항상 false를 의미하고 0이 아닌 값은 true로 해석합니다.
자세한 내용은 NSNumber 설명서를 확인하십시오.
이는 응용 프로그램에서 Bool로 처리하기 쉽습니다. 예를 들어 : 모두 Int(64)
및 Double
비록
let myFalseNumber:NSNumber = 0.0
let myTrueNumber:NSNumber = 0.
let anotherTrueNumber: NSNumber = -99
print(myFalseNumber.boolValue) // false
print(myTrueNumber.boolValue) // true
print(anotherTrueNumber.boolValue) // true
가의 NSNumber, 왜 대신 Double
(CloudKit 타입)의 Int(64)
를 선택하는 이유로 취급은 부동없이 "일 경우 사실과 거짓이면 0"(치료의 일반성이다 전철기). 자세한 내용은 Boolean data type - Generalities (Wikipedia)을 확인하십시오.
희망이있었습니다.
'Int (64)'- 1이 참이면 0은 거짓입니다. – luk2302
및 다른 해결책은 없습니까? Int를 통해서만? –
글쎄, 당신은 * 두 가지 특정 값을 가진 데이터 유형을 사용할 수 있지만, 가장 명확하고 간단한 것이 Int입니다. – luk2302