2014-06-16 2 views
16

Objective-C의 경우 [NSNumber numberWithBOOL:YES] 대신 @YES을 입력 할 수 있습니다. 이것은 훨씬 정돈 된 코드를 만듭니다.신속한 부울 리터럴 (Obj-C @YES @ NO 해당)

스위프트 (Swift)에서는 NSNumber.numberWithBool(true)을 작성해야하는데 이는 다소 추한 것입니다.

스위프트에는 @YES@NO에 해당하는 항목이 있습니까?

미리 도움 주셔서 감사합니다.

+2

... 왜 당신이 사용하고있는 NSNumbers 캐스팅하지 않을 수 있다면? – nneonneo

+1

@nneoneo, 코어 데이터 용 즉 [NSMigratePersistentStoresAutomaticallyOption : 참 : NSInferMappingModelAutomaticallyOption 참 * 옵션 = NSDictionary에 예전 [ NSMigratePersistentStoresAutomaticallyOption : @YES, NSInferMappingModelAutomaticallyOption : @YES] – Timbo

답변

26

truefalse

xcrun swift 
Welcome to Swift! Type :help for assistance. 
    1> import Foundation 
    2> var t : NSNumber = true 
t: __NSCFBoolean = {} 
    3> var f : NSObject = false 
f: __NSCFBoolean = {} 
    4> 

이 글을 읽을 수 있습니다 : https://developer.apple.com/library/content/documentation/Swift/Conceptual/BuildingCocoaApps/WorkingWithCocoaDataTypes.html#//apple_ref/doc/uid/TP40014216-CH6-XID_43

스위프트가 자동으로의 NSNumber로, int와 같은 특정 고유 번호 유형, 교량 및 플로트.

  • 지능
  • UINT
  • 플로트
  • 더블
  • BOOL :이 브리지는 다음과 같은 유형의 모든 자동의 NSNumber에 브리지되는 이러한 유형의

    중 하나에서의 NSNumber를 만들 수 있습니다

+0

너무 쉽게 감사! – Timbo

+0

"(value : BooleanLiteralConvertible, forKey : NSString!) '형식의 인수 목록과 함께'setValue '를 호출 할 수 없습니다 (Beta7) –

7

스위프트는 자동으로 "코코아 및 목표 - C와 스위프트 사용"

의 NSNumber

에, (iBook을) int와 같은 특정 고유 번호 유형, 교량 및 플로트.

let foo : NSNumber = true 
let bar = NSNumber(value: false) 
0

나는 스위프트에서 예 또는 아니오를 가지고 있지 않습니다.

당신이 Objc-C를 사용하여 예 함수 반환 전화를 걸거나 없음 모든에서이

example 
// isReady return Yes Or no of Objc-C 

if let isReady = object?.isReady { 
//is ready = true or false of your object 
} 
관련 문제