是否有XCPlayground的替代品?

时间:2016-10-05 00:05:07

标签: swift swift-playground

我正在尝试使用Swift Playgrounds for ipad,我正在尝试制作一个基本的计时器,这是我使用的代码

import UIKit
import ObjectiveC
import CoreFoundation
import XCPlayground

XCPSetExecutionShouldContinueIndefinitely()

class StopWatch {
    var myCounter = 0

    func timer() {
        var timer = Timer.scheduledTimer(
            timeInterval: 1, 
            target: self, 
            selector: Selector("incrementCounter:"),
            userInfo: nil,
            repeats: true
        )
    }

    @objc func incrementCounter(mytimer:Timer) { 
        myCounter = myCounter + 1 
        print(myCounter)
    }
}

var myStopWatch = StopWatch()
myStopWatch.timer()

然而,每次运行它都会反复出现并出错。我相信这是因为导入xcPlaygrounds在ipad的swift playground中不可用以及随附的所有函数和命令我想知道是否有替换此模块或更好的方法。

由于

1 个答案:

答案 0 :(得分:3)

如果您使用带有swift3的游乐场,则可以使用以下代码。

' XCPSetExecutionShouldContinueIndefinitely'不推荐使用,所以我添加了

PlaygroundSupport模块并将needsIndefiniteExecution值设置为true。

import PlaygroundSupport

PlaygroundPage.current.needsIndefiniteExecution = true

class StopWatch {
    var myCounter = 0


    func timer() {
        let _ = Timer.scheduledTimer( timeInterval: 1, target: self, selector: #selector(incrementCounter(mytimer:)), userInfo: nil, repeats: true)
    }

    @objc func incrementCounter(mytimer:Timer) {
        myCounter = myCounter + 1
        print(myCounter)
    }
}

var myStopWatch = StopWatch()
myStopWatch.timer()