标签: swift-playground

如果在串行 DispatchQueue 中触发上下文切换会发生什么?

原则上,串行DispatchQueue会一个接一个地执行提交的任务。但是,如果在一项任务中触发了上下文切换(例如,调用sleep)怎么办?队列是立即执行下一个任务,还是等待当前任务完成?

对于此代码:

q.async {
    print("IN 1")
    var i = 1
    while i < 10 {
     Thread.sleep(forTimeInterval: 0.1)
     i += 1
    }
    print("OUT of 1")
}

q.async {
    print("IN 2")
}
Run Code Online (Sandbox Code Playgroud)

结果是:

// IN 1 -> OUT of 1 -> IN 2 ?
// or IN 1 -> IN 2 -> OUT of 1 ?
Run Code Online (Sandbox Code Playgroud)

我尝试在操场上运行代码,但似乎sleep(和Thread.sleep)在操场中不起作用。

multithreading grand-central-dispatch swift swift-playground

1
推荐指数
1
解决办法
167
查看次数

如何在 Swift UI 中添加 3D 形状?

我想知道如何在 swift UI 中添加 3D 形状(例如球体)

我尝试添加一个场景并在 swift UI 中使用它,但收到一条错误消息

//SceneKit

class myscene: SCNScene{
 override init(){
     super.init()
 }
 required init?(coder: NSCoder) {
     fatalError("init(coder: ) has not been implemented")
 }
}

//Swift UI 

struct ContentView: View {
 var body: some View {

     let sphere = SCNSphere(radius: 2.0)
     sphere.firstMaterial?.diffuse.contents = UIColor.blue
     let spherenode = SCNNode(geometry: sphere)
     spherenode.position = SCNVector3(x: 0.0, y: 3.0, z: 0.0)
 }
}

Run Code Online (Sandbox Code Playgroud)

网上的错误消息var body: some View {如下:

Function declares an opaque return type, but has no …

scenekit swift swift-playground swift5 swiftui

1
推荐指数
1
解决办法
2093
查看次数

如何在 Xcode Playground 中使用 SwiftUI?

如何在 Xcode Playground 中渲染 SwiftUI 视图?PreviewProvider似乎不适用于 Swift Playground。

struct FooView: View {
    var body: some View {
        Text("Foo")
    }
}

struct SampleView: PreviewProvider {
    static var previews: some View {
        FooView()
    }
}
Run Code Online (Sandbox Code Playgroud)

swift swift-playground swiftui

1
推荐指数
1
解决办法
568
查看次数

Playground 导入 - 更新到 Xcode 12 后没有这样的模块

我在框架项目中使用游乐场。有时,会出现构建问题,这些问题在构建库后总是消失。

更新到 Xcode 12 后,我无法再运行 Playgrounds。

import UIKit
import PlaygroundSupport
import MyFramework

// Error: No such module `MyFramework`
Run Code Online (Sandbox Code Playgroud)

swift-playground xcode12

1
推荐指数
1
解决办法
710
查看次数

在iOS Swift Project中从"2015-01-17T20:00Z"创建NSDate

我与此格式返回datetime一些JSON数据工作:"2015-01-17T20:00Z"当我试图把它变成一个NSDate对象,我总是留下为零.我已经通过几个教程和答案在这里对SO阅读,苹果的NSDate/NSDateFormatter /日期格式文档,和ping通了几个IRC频道.

任何人都可以告诉我我做错了什么,可能的解决方法吗?

我在Swift游乐场中失败的代码:

let dateString = "2015-01-17T20:00Z"
let dateStringFormatter = NSDateFormatter()
dateStringFormatter.dateFormat = "yyyy-MM-ddThh:mmZ"
let d = dateStringFormatter.dateFromString(dateString)
println(d)
Run Code Online (Sandbox Code Playgroud)

输出: "Optional(2015-01-17 06:00:00 +0000)"

在同一个Swift游乐场中工作代码:

let dateString = "2015-01-17"
let dateStringFormatter = NSDateFormatter()
dateStringFormatter.dateFormat = "yyyy-MM-dd"
let d = dateStringFormatter.dateFromString(dateString)
println(d)
Run Code Online (Sandbox Code Playgroud)

输出: "nil"

nsdateformatter ios swift swift-playground

0
推荐指数
1
解决办法
870
查看次数

迭代数组只获得Swift Playground中的第一个值

我知道这是一个非常基本的问题,但它让我难以理解并找出原因.我有一个名称数组以及迭代它们以将它们全部作为单个名称的内容,尽管当我使用for in循环时它只生成第一个名称,我的代码:

var arrayA = ["Mike", "James", "Stacey", "Steve"]
var str = String()
for array in arrayA {
    str = array 
    println(str)//Just prints steve
}
Run Code Online (Sandbox Code Playgroud)

问题是它只打印史蒂夫,我希望能够访问所有名称单身

这就是我所看到的:

在此输入图像描述

arrays swift swift-playground

0
推荐指数
1
解决办法
1590
查看次数

UISlider 添加目标操作不起作用

我无法以编程方式通过 swift 创建 UISlider。错误是说我的选择器无法识别。我曾尝试使用“#selector(function)”的形式,但它也不起作用。这是我的代码:

let windTurbineView = SKView(frame: CGRect(origin: CGPoint.zero, size: CGSize(width: 325, height: 600)))
let windSpeedSlider = UISlider(frame: CGRect(origin: CGPoint.zero, size: CGSize(width: 280, height: 18)))

func windSpeedSliderSetUp() {
    windSpeedSlider.minimumValue = 0.0
    windSpeedSlider.maximumValue = 20.0
    windSpeedSlider.isContinuous = true
    windSpeedSlider.tintColor = .blue
    windSpeedSlider.minimumValueImage = UIImage(named: "0MPH.png")
     windSpeedSlider.maximumValueImage = UIImage(named: "20MPH.png")
    windSpeedSlider.value = 0
    windTurbineView.addSubview(windSpeedSlider)
    windSpeedSlider.center.x = windTurbineView.center.x
    windSpeedSlider.center.y = 585
    windSpeedSlider.addTarget(windSpeedSlider, action: Selector(("sliderValueDidChange")), for: .valueChanged)
}

 func sliderValueDidChange(sender: UISlider) {

    mphLabel.text = "\(sender.value)"
    print("wi")
}
Run Code Online (Sandbox Code Playgroud)

我正在使用 swift playground 并导入了以下内容:UIKit、PlaygroundSupport 和 SpriteKit。 …

swift swift-playground

0
推荐指数
1
解决办法
2839
查看次数

平滑的 UIBezierPath

我在操场上创建了一个 uibezierpath 手动添加的值,它工作正常。结果是: 在此处输入图片说明

现在我的目标是平滑曲线并去除这些“尖”角。我正在考虑插值函数但不确定。在我的实际代码下面:

//: Playground - noun: a place where people can play

import Foundation
import UIKit
import CoreGraphics
import QuartzCore

class DemoView: UIView {


    override func draw(_ rect: CGRect) {
        let origin = CGPoint(x: frame.size.width / 2, y: frame.size.height / 2)
        let radius = frame.size.width / 2

//        self.createCircle(origin: origin, radius: radius)
        self.addLinesInCircle(origin: origin, radius: radius)
    }

    func createCircle(origin: CGPoint, radius: CGFloat) {
        let path = UIBezierPath()
        path.addArc(withCenter: origin, radius: radius, startAngle: 0, endAngle: CGFloat(2 * Double.pi), clockwise: …
Run Code Online (Sandbox Code Playgroud)

interpolation core-graphics uibezierpath swift swift-playground

0
推荐指数
1
解决办法
1150
查看次数

Swift游乐场在我输入时运行.怎么改呢?

每当我在Swift游乐场中输入内容时,程序就会在我输入时运行.有没有什么办法可以更改设置,以便只在我点击运行按钮时运行?

xcode swift-playground

0
推荐指数
1
解决办法
539
查看次数

为什么Playground中的Xcode 10无法自动运行?

我正在学习Swift,在课程中,我会在Udemy上或什至在他们使用Playground时在Internet上找到的视频中进行跟踪,这些代码会自动执行。

是否可以在最新版本上启用此功能?

当前使用的版本:10.2.1

xcode swift swift-playground

0
推荐指数
2
解决办法
377
查看次数

替代swift中的主要功能?

我在Playground玩耍而且我想知道主要功能在哪里与其他语言不同,Swift没有主要功能,什么是替代或技术用于替换swift中的主要功能,当在Apple之外的架构中使用时(在外面使用时) of ios和osx)因为swift很快将成为opensource?

program-entry-point swift swift-playground

-3
推荐指数
1
解决办法
4225
查看次数

调用没有括号的函数?? [斯威夫特游乐场]

Swift提供了以下代码.如何在没有括号的情况下调用squishEm函数?是不是函数和属性之间的语法差异?

func squishEm() {
// Iterate over graphics and squish each one.
for graphic in graphics {
    squishGraphic(graphic: graphic)
}
}

// Create and add Squish ’Em! button.
let squishButton = Button(name: "Squish ’Em!")
squishButton.onTap = squishEm
scene.button = squishButton
Run Code Online (Sandbox Code Playgroud)

swift swift-playground

-3
推荐指数
1
解决办法
541
查看次数