标签: swift-playground

#import "Project-Swift.h" 文件不刷新

我有一个包含 Swift 和 Objective-C 代码的项目。在我当前的项目中,#import "Project-Swift.h"如果我添加新的 Swift 模块,文件不会刷新。

#import "Project-Swift.h" // does not refresh if I add .swift files
Run Code Online (Sandbox Code Playgroud)

所以在 Objective-C 领域中,swift 代码是不可用的。文件存在,但只包含默认#defines等。没有项目相关的东西。

清除缓存、重建、删除派生数据无济于事。

cocoa objective-c swift xcode6 swift-playground

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

调用错误之谜中的额外参数

我有一些旧的 Swift 代码,用于编译和工作,我使用 .append 动态构建数据结构。升级到几个较新的编译器版本后,我收到了可怕的“调用中的额外参数”错误。我将代码简化为:

struct  EHSearch {
    let EHcategory : String = ""
    let EHname : String = ""
}

var  myEHSearch = [EHSearch]()

// Call to dynamically append the results
// Extra argument: 'EHcategory' in call

myEHSearch.append(EHSearch(EHcategory: "Food", EHname: "Joes Crab Shack"))
Run Code Online (Sandbox Code Playgroud)

到目前为止,我在搜索导致此问题的原因发生变化时看不到任何内容,因此在此寻求指导。

ios swift swift-playground

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

如何获取 Xcode Playground 的当前工作目录?

我正在使用基于 OSX 的 Playground。当我尝试时,NSFileManager.defaultManager().currentDirectoryPath它返回/这不是我的工作目录。

macos swift-playground

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

Mac OS:直接从 Swift 中的目录访问内容

我是 mac OS 开发的新手,所以请原谅我的任何基本问题,但相信我,我已经做了很多研究,但仍然有点卡住。

所以我试图访问当前用户的桌面内容。

在操场上很容易,只需使用

let homeURL = FileManager.default.homeDirectoryForCurrentUser
let desktopURL = homeURL.appendingPathComponent("Desktop/")
let contents = try fileManager.contentsOfDirectory(atPath:desktopURL.path)
Run Code Online (Sandbox Code Playgroud)

它显示桌面上的所有内容。但是当我在一个项目中运行类似的代码时。

let homeURL = FileManager.default.homeDirectoryForCurrentUser
Run Code Online (Sandbox Code Playgroud)

它返回我的应用程序的容器。

file:///Users/myUserName/Library/Containers/AppIdentifier/Data/

并且 let contents = try fileManager.contentsOfDirectory(atPath: desktopURL.path)不会返回任何内容。

好吧,我然后我用

删除最后一个路径组件

同时获取主路径以获取我的 URL 直到我的用户名

let homeURL = FileManager.default.homeDirectoryForCurrentUser.deletingLastPathComponent().deletingLastPathComponent().deletingLastPathComponent().deletingLastPathComponent()
Run Code Online (Sandbox Code Playgroud)

当我调试它时,它返回

file:///Users/myUserName

如我所愿。但是当我运行代码时,内容变量仍然为零。

下一次尝试:

我在互联网上搜索以检查获取目录路径的替代方法。所以我遇到了

NSOpen面板

我从 Panel 获取文件夹的 URL 并使用该 URL 检查其中的内容。它工作正常

这是代码

let homeURL = FileManager.default.homeDirectoryForCurrentUser
let desktopURL = homeURL.appendingPathComponent("Desktop/")
let contents = try fileManager.contentsOfDirectory(atPath:desktopURL.path)
Run Code Online (Sandbox Code Playgroud)

但我不明白为什么我不能直接访问内容。我已经尝试了很多次。在项目中,我无法enter code here直接从(某种)硬编码 URL 获取内容。

如果需要任何其他信息,请告诉我。

macos xcode swift swift-playground

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

我的带有自动布局约束的 Swift 4 UIScrollView 不滚动

在将视图添加到我的应用程序之前,我已经创建了一个小型演示游乐场来使其工作。

我有一个滚动视图,它将包含许多水平滚动的按钮。我知道这些按钮需要进入滚动视图中的容器视图,并且也创建了它。我最初使用自动布局约束来创建所有这些,但现在尝试使用常量来确保内容视图大于滚动视图。但是,按钮仍然不会滚动......我错过了什么吗?滚动视图不适用于自动布局吗?

我也在我的 iPad 上以编程方式执行所有这些操作,因此不幸的是,使用界面构建器的解决方案不是一种选择...

这是完整的代码:

import UIKit
import PlaygroundSupport

class FilterViewController: UIViewController {
    var filterView: UIView!
    var scrollView: UIScrollView!
    var containerView: UIView!

    override func loadView() {
        filterView = UIView()
        view = filterView
        view.backgroundColor = #colorLiteral(red: 0.909803926944733, green: 0.47843137383461, blue: 0.643137276172638, alpha: 1.0)

        scrollView = UIScrollView()
        scrollView.backgroundColor = #colorLiteral(red: 0.474509805440903, green: 0.839215695858002, blue: 0.976470589637756, alpha: 1.0)
        view.addSubview(scrollView)
        scrollView.translatesAutoresizingMaskIntoConstraints = false
        scrollView.topAnchor.constraint(equalTo:view.topAnchor, constant:40).isActive = true
        scrollView.leadingAnchor.constraint(equalTo:view.leadingAnchor).isActive = true
        scrollView.widthAnchor.constraint(equalTo:view.widthAnchor).isActive = true
        scrollView.heightAnchor.constraint(equalToConstant: 200).isActive = true
        scrollView.isScrollEnabled = true

        containerView = UIView() …
Run Code Online (Sandbox Code Playgroud)

uiscrollview ios programmatically-created swift swift-playground

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

Swift Playgrounds 不会在 macOS 上自动更新

我的机器上有几个 Swift Playgrounds 无法自动更新。我可以从编辑器菜单中手动选择“运行 Playground”,它会运行当时 Playground 中的内容,但当我键入新代码时它永远不会更新。我尝试过清除编译缓存"$(getconf DARWIN_USER_CACHE_DIR)/org.llvm.clang.$(whoami)/ModuleCache"、重新启动 Xcode、重新启动模拟器服务,甚至重新启动我的 Mac,但这些都无法解决问题。我可以查看什么来让我的 Playground 自动更新?

swift swift-playground

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

RxSwift - Playground 执行失败:无法查找符号

我创建了一个新项目并使用 pods 来安装RxSwift. 然后我创建了一个游乐场并编写了以下代码:

import UIKit
import RxSwift
import PlaygroundSupport

var name = "hello"
let names = Variable(["Good"])  
Run Code Online (Sandbox Code Playgroud)

但控制台显示此错误:

Playground 执行失败:

错误:无法查找符号:__
T07RxSwift8VariableCACyxGxcfC __T07RxSwift8VariableCMa

ios cocoapods swift swift-playground rx-swift

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

如何停止 Swift Playground 的长时间运行过程?

希望这不是一个愚蠢的问题,因为我在任何地方都找不到它。

我在 Swift Playground 中编程并运行一个很长的进程。它已经编译并运行(我可以看到日志显示)。我怎样才能停止这个过程?

到目前为止我发现的唯一方法是杀死整个 Xcode。

swift swift-playground

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

有没有办法在不重启Xcode 6的情况下打开Swift Playground?

有没有办法打开Swift Playground而无需关闭Xcode并重新启动?我没有看到它在任何地方可用,除非Xcode从头开始.

swift xcode6 swift-playground

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

使用Swift的for循环中的两个变量

如何在for循环中使用两个变量?

for j,k in zip(range(x,0,-1),range(y,-1,-1) 
Run Code Online (Sandbox Code Playgroud)

我想在Swift中实现它.

swift swift-playground swift2

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