Swift:print()命令不能在Xcode 7.3.1中打印到控制台

时间:2016-08-10 20:36:13

标签: ios swift xcode

我目前正在Xcode上为iOs制作我的第一个Swift项目。我当前的问题是,我的代码中的所有print()命令似乎都没有将文本打印到我的控制台窗口中。我已经在各个地方看过这个问题,但似乎找不到其他人有同样的问题,所以我假设我有某种语法错误或者我对swift / xcode的理解是完全错误的。这是我的代码块:

override func viewDidLoad() {
    super.viewDidLoad()
    // Configure the view.
    let skView = view as! SKView
    skView.multipleTouchEnabled = false

    let defaults = NSUserDefaults.standardUserDefaults()
    defaults.setValue("white",forKey: "petColor")
    let bugcheck = defaults.stringForKey("petColor")
    print(bugcheck)
    print("hello yes this works")

    // Create and configure the scene.
    scene = GameScene(size: skView.bounds.size)
    scene.scaleMode = .AspectFill

    // Present the scene.
    skView.presentScene(scene)
    }

这是在创建新项目时默认生成的GameViewController.swift文件中。这些行:

    let defaults = NSUserDefaults.standardUserDefaults()
    defaults.setValue("white",forKey: "petColor")
    let bugcheck = defaults.stringForKey("petColor")
    print(bugcheck)
    print("hello yes this works")

我试图开始工作的部分。我想知道正确保存/加载默认值。当我在模拟器中运行应用程序时,视图会加载,并且会显示场景(我在屏幕上弹出了一些图像),因此我知道代码至少在运行。但是,控制台上没有任何内容。是什么赋予了?对不起,如果之前已经问过这个问题,但就像我说我找不到资源一样。谢谢你的时间。

2 个答案:

答案 0 :(得分:7)

您需要设置/添加断点,因为有时其他文件中的方法(例如递归块或segue)可能会抢占打印行的调用。如果在设置了断点后看到了print语句,那么你就知道被调用的东西正在抢占print语句的调用。

Adding, Disabling, and Deleting Breakpoints

此外,这听起来很明显,所以不要拍我,但很多人错误地禁用了控制台视图。 shift + command + C 显示控制台 图。

此外,您还可以使用Arrays.asList("aa", "ab", "ab", "bb", "cc" , "ca") .stream() .collect(groupingBy(s->sortedStr(s), counting())); 打印到设备日志,以查看它是否有所作为。 nslog添加时间戳等nslog然后转到Xcode - >窗口 - >设备并检查设备日志。您还可以检查OS X控制台应用程序是否有相同的日志。

答案 1 :(得分:1)

这个问题最近发生在我身上。

问题是我已使用Duet应用程序将iPad连接为扩展显示。目前,此连接是通过Air Play执行的,由于某些奇怪的原因,Xcode中的日志消失了。

希望对其他人有帮助。