问题标签 [swift4]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
5103 浏览

swift - NSObject 的 value(forKey:) 在 Swift 4 中不起作用

在 Xcode 9 Beta 中试用 Swift 4。

出于某种原因,在 NSObject 上使用键值访问器时我遇到了崩溃。

有任何想法吗?

0 投票
0 回答
122 浏览

ios - 没有@objc的Swift 4 CADisplayLink

在 swift 4 中,我们在使用 @objc func 时开始收到警告,我知道实际上最好避免它。我需要为动画创建一个精确的计时器,比如 CADisplayLink。问题是 CADisplayLink 正在使用#selector,要使用它,我需要创建@objc func。在 Swift 4 中有什么替代方案吗?

0 投票
1 回答
369 浏览

json - 声明一个符合协议的泛型常量

好的,通过使用新的可解码协议编写一些网络代码来修补 Swift 4。以下错误带有几个编译器错误:

decodedableType 应该是符合 Decodable 协议的任何结构/类的“类型”(即 User.self,其中 User 符合可解码或可编码)。我如何告诉编译器这个?

编辑:换句话说,我想写这样的代码......

这意味着将第一个代码块中的泛型参数保存在结构上的常量内。我只是不知道如何在 Swift 中正确写出类型。

0 投票
2 回答
1006 浏览

ios - Xcode 9 本地化不起作用?

我已经在丹麦语的应用程序中进行了一段时间的本地化,当我更新 Xcode 9 并在模拟器中运行它时,一切都开始以丹麦语出现......我不知道为什么?

我确保我的所有设置都是英语并设置为美国,但是当我在模拟器中运行应用程序时,所有内容都以丹麦语显示。有人对这个有了解吗?也许只是一个测试版错误?谢谢!!

0 投票
0 回答
193 浏览

swift - JSONEncoder 适用于 [String:String] 对 [String:Codable] 失败

我在玩新Codable协议JSONEncoder

以下方法引发了一个奇怪的异常:

fatal error: Dictionary<String, Decodable & Encodable> does not conform to Encodable because Decodable & Encodable does not conform to Encodable.

当我将签名更改为

private func generateJSONData(body: [String: Encodable]?)

fatal error: Dictionary<String, Encodable> does not conform to Encodable because Encodable does not conform to Encodable.:

有趣的是,这适用于[String: String]

[String: Codable]没有不可编码的原因?

0 投票
1 回答
778 浏览

swift-playground - 是否可以在 Xcode 游乐场中使用 Core ML 模型?

现在我正在研究使用CoreML模型来检测一些数据概率的应用程序。

但我想知道是否可以CoreML在 Xcode 游乐场中使用模型,因为它更便于测试。

我尝试将模型添加到 Xcode 9 游乐场,但没有运气。

0 投票
1 回答
5310 浏览

swift - Swift 包管理器 - Swift 4 语法

我正在尝试将更新的 SPM 用于 Swift4 和以下Package.swift文件 - PackageDescription API 版本 4

我也有正确版本的 SPM:

Apple Swift 包管理器 - Swift 4.0.0-dev (swiftpm-13081.9)

但我无法通过swift build命令构建库。我看到以下错误:

...错误:类型“版本”没有成员“分支”

0 投票
1 回答
4154 浏览

arrays - Swift 4 无法使用类型的参数列表调用“索引”

我在调用数组方法时遇到问题index(of:)MyClass继承自UIViewController并符合MyDelegate协议。

然后我得到错误:

无法使用类型为“(的:(UIViewController & MyDelegate))”的参数列表调用“索引”

我该如何解决这个问题,有没有比index(of:)在扩展中实现更好的解决方案?

0 投票
3 回答
2632 浏览

swift4 - 为什么会出现错误:解码 CoreML 文档时出现问题?

我在 Xcode 9 Beta 上使用 CoreML 和 Swift 4.0。

如果您VGG16.mlmodel在项目导航器中选择一个文件,我会收到错误消息:There was an problem decoding this document CoreML

此外,作为代码的结果,我得到了错误Use of unresolved identifier 'VGG16'Use of undeclared type 'VGG16'

VGG16.mlmodel从这里下载https://developer.apple.com/machine-learning/

可能是什么问题呢?

模型 Places205-GoogLeNet、ResNet50 和 Inception v3 的 PS 一切正常。

0 投票
1 回答
1245 浏览

swift - Swift 4 - 来自关联类型的子类通用约束

我想编写一个 Swift 协议,该协议需要一个类型来指定一个基类并实现对该基类的子类进行操作的方法。这可能看起来像(不编译):

但这会产生以下编译器错误: Inheritance from non-protocol, non-class type 'Self.BaseModel'

这是有道理的,因为 BaseModel 可以用结构类型指定,并且不允许子类化。所以我尝试创建一个空协议,限制为类,以尝试通知编译器该类型将是类类型并允许子类约束。

protocol Model: class { }

然后我使用 Model 类协议约束 BaseModel 类型:

associatedtype BaseModel: Model

但这会从上面生成相同的编译器错误。是否可以从协议中强制执行子类约束associatedtype?我希望以上内容能够编译或让 Swift 允许类似以下内容以允许子类约束:

associatedtype BaseModel: class