2015-09-29 8 views

Odpowiedz

1

Oba są rzutowania Int do String, ale to już nie będzie działać. W Swift 2 nie można tego zrobić tak.

U powinny stosować:

let i = 5 
print(String(format: "%i", i)) 

Będzie to specjalnie pisać wartość int jako String

7

.stringValue jest sposobem, aby wyodrębnić Integer do wartości ciągu, ale as String nie będzie działać na tym i jeśli używasz as String, a następnie Xcode zmusi Cię do dodania ! z as, co nie jest dobre i nigdy się nie uda, a to spowodowałoby awarię aplikacji. nie można rzucić Int do String. Zawsze zawiedzie. To dlatego, gdy robisz as! String powoduje awarię aplikacji.

Odlewanie nie jest tu dobrym pomysłem.

A oto kilka sposobów, aby wyodrębnić Integer do wartości ciągu:

let i : Int = 5 // 5 

let firstWay = i.description // "5" 
let anotherWay = "\(i)"  // "5" 
let thirdWay = String(i)  // "5" 

Tutaj nie można wykorzystać let forthway = i.stringValue ponieważ Int nie ma członkiem nazwie stringValue

Ale można zrobić to samo z anyObject jak pokazano poniżej:

let i : AnyObject = 5 // 5 

let firstWay = i.description // "5" 
let anotherWay = "\(i)"  // "5" 
let thirdWay = String(i)  // "5" 
let forthway = i.stringValue // "5" // now this will work. 
+0

Wyczyść answer.Should zaakceptować jako odpowiedź. –

1

z as String, nie można rzucać wartość, ale zdefiniuj, że zmienna zawiera String, ale w twoim przypadku jest to Int.

, podczas gdy inny sposób, tj. Z i.stringValue, prześlij swoją wartość do String. Tak więc nie spowoduje to żadnej awarii i pomyślnego przeniesienia do wartości String.

Uwaga: Gdy używasz AnyObject, zmienna posiada człon stringvalue ... ale nie ma Int ... Aby rzucić wartość Int sprawdzeniu @Dharmesh Kheni odpowiedź

Powiązane problemy