ios - variable - ''NSLog'' no está disponible: la función Variadic no está disponible en swift
xcode print to debug console (2)
Soy nuevo en Swift. Cuando estoy aprendiendo solo lo básico recibí este error en NSLog
Aquí está mi código:
import UIKit
class ViewController: UIViewController {
var myString: NSString?
override func viewDidLoad() {
super.viewDidLoad()
myString = "himanth"
print(myString)
NSLog("%@" , myString)
// Do any additional ssetup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
Si estoy declarando myString
así
var myString: NSString!
Está bien usar NSLog
y puedo ver la consola también.
Pero declarar una cadena como esta causando problemas
var myString: NSString?
Se refleja en NSLog
y muestra error.
¿Cuál es el problema con eso?
Si declara var myString: NSString?
como opcional, debe asegurarse de que tenga un valor antes de pasarlo a NSLog
.
Así que podrías hacerlo así, luego NSLog("%@" , myString!)
. Si myString
es nil y lo pones !
el programa se estrellará y obtendrá
fatal error: unexpectedly found nil while unwrapping an Optional value.
Pero si tiene un valor, el programa continuará normalmente e imprimirá
2016-10-03 10:26:25.077 Swift3.0[65214:1579363] Test
Escribí myString = "Test"
.
NSLog()
no puede imprimir opcionales Swift.
let optional: String?
NSLog("%@", optional) // ''NSLog'' is unavailable: Variadic function is unavailable
let nonOptional: String
NSLog("%@", nonOptional) // Ok!
NSLog("%@", optional ?? "value-if-nil") // Ok!
Corrija pasando un valor no opcional a NSLog()
lugar.
NOTA:
print()
puede imprimir Swift Optionals.