ios – ‘NSLog’不可用:swift中不可用Variadic函数

我是新来的当我正在学习基础知识时,我在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并显示错误.

这是什么问题?

解决方法

如果你声明var myString:Nsstring?作为可选的,那么在将其传递给NSLog之前,您需要确保它具有一个值.

所以你可以这样做NSLog(“%@”,myString!).如果myString是零,你放!程序会崩溃,你会得到

Fatal error: unexpectedly found nil while unwrapping an Optional value.

但是如果它有一个值,程序将继续正常打印出来

2016-10-03 10:26:25.077 Swift3.0[65214:1579363] Test

我写了myString =“测试”.

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...