2014-06-16 10 views
16

W Objective-C można wpisać @YES zamiast [NSNumber numberWithBOOL:YES]. To sprawia, że ​​kod jest znacznie dokładniejszy.Swift Boolean Literals (odpowiednik Obj-C @YES @ NO)

W Swift, muszę napisać NSNumber.numberWithBool(true), co jest dość brzydkie.

Czy istnieje odpowiednik @YES i @NO w Swift?

Z góry dziękuję za pomoc!

+2

... dlaczego używasz NSNumbers w ogóle? – nneonneo

+1

@nneoneo dla danych Core ... to znaczy [NSMigratePersistentStoresAutomaticallyOption: true, NSInferMappingModelAutomaticallyOption: true], który kiedyś NSDictionary * options = [ NSMigratePersistentStoresAutomaticallyOption: @YES, NSInferMappingModelAutomaticallyOption: @YES] – Timbo

Odpowiedz

26

to true i false

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> 

przeczytać: https://developer.apple.com/library/content/documentation/Swift/Conceptual/BuildingCocoaApps/WorkingWithCocoaDataTypes.html#//apple_ref/doc/uid/TP40014216-CH6-XID_43

Swift automatycznie łączy pewne rodzimych typów numerycznych, takich jak int i float, do NSNumber. Ten pomostowego pozwala stworzyć NSNumber z jednego z tych typów

wszystkie z następujących typów są automatycznie połączone mostem NSNumber:

  • Int
  • Uint
  • Float
  • Pokój
  • Bool
+0

Zbyt łatwe, dzięki! – Timbo

+0

Otrzymuję "Nie można wywołać" setValue z listą argumentów typu "(wartość: BooleanLiteralConvertible, forKey: NSString!)" (To jest Beta7) –

7

automatyczne Swift łączy pewnych natywne typy numer, taki jak Int i pływak, aby NSNumber

"Użycie Swift z kakao i Celem-C" (iBook).

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

Ja nie mam Tak lub Nie w Swift, Bool prawda fałszywa masz.

Jeśli używasz objc-C i nazywamy powrót funkcji Tak lub Nie może pan rzucić ten

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

if let isReady = object?.isReady { 
//is ready = true or false of your object 
} 
Powiązane problemy