'NSLog'不可用:可变参数函数无法快速使用

问题描述 投票:27回答:3

我是新手。当我学习基础知识时,我在NSLog]下收到此错误

这是我的代码:

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.
    }


}

如果我这样声明myString

var myString: NSString!

使用NSLog很好,我也可以看到控制台。

但是声明这样的字符串会引起问题

var myString: NSString?

它反映在NSLog并显示错误。

这是什么问题?

我是新手。当我只学习基础知识时,在NSLog上收到此错误,这是我的代码:import UIKit class ViewController:UIViewController {var myString:NSString?覆盖函数...

ios swift nslog
3个回答
20
投票

如果将var myString: NSString?声明为可选,那么在将其传递给NSLog之前,需要确保它具有值。


14
投票

[NSLog()无法打印Swift可选。


0
投票

存在相同问题,接受的答案无济于事。

© www.soinside.com 2019 - 2024. All rights reserved.