问题标签 [swift4.2]

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 回答
112 浏览

dictionary - Swift:更新到 4.2 后无法扩展 Dictionary

在更新到 Swift 4.2 之前,我有下一个 Dictionary 扩展:

[String:String]并在字典中使用它。

在此处输入图像描述

在此处输入图像描述

更新到 4.2 后编译失败:不存在这样的方法

4.2 中的字典定义有变化吗?

0 投票
1 回答
183 浏览

ios - 如何预定义应用于触发 Siri 某些操作的某些短语

我可以使用 NSUserActivity 或 Intent 创建快捷方式,然后让用户记录将触发某个快捷方式的某个短语,方法是向他展示一个适当的视图控制器,或者发送 hi 到 Settings->Siri->Shortcuts . 为此,我将仅使用此代码,例如:

这只是为 Siri 的建议添加了一个快捷方式,并使其在“设置”中可用,但用户仍然必须记录短语才能通过某个短语触发快捷方式。

如何为特定操作预定义诸如“执行某些任务”之类的短语并使用户可以使用它,而无需手动记录它?

更准确地说,我想根据用户所说的话在我的应用程序中打开一个特定页面。例如,打开第一页,打开第二页,打开菜单等...

0 投票
1 回答
563 浏览

swift - 如何使用 macOS Mojave 和 Xcode 10 在 swift Playground 上运行自定义框架

我正在开发一个针对 iOS 设备的快速框架。通常的管道包括向框架添加一个游乐场以测试某些功能。但是,自从上次更新 macOS Mojave 以来,我总是收到类似

我尝试了一些在 Internet 上找到的解决方案,例如创建工作区并添加框架和游乐场,但即便如此它也无法正常工作。请记住,完全相同的代码在以前的操作系统上运行完美。

如何使用 Xcode 10 在 macOS Mojave 中将自定义框架添加到 swift Playground?另外,有没有更好的方法来测试自定义框架?我知道 Swift Playground 正在尝试模仿 Jupiter-notebook 的编码风格,这很棒,但它仍然需要一些改进。

0 投票
1 回答
622 浏览

enums - Swift:枚举的哈希值正在获取随机数

我有以下枚举:

但是当我打印这一行时:

我得到以下输出:

如果我重新运行我得到的代码:

我应该得到这样的东西:这是 One 0 的哈希值

我问你们为什么我得到随机数?

我会非常感谢你的帮助。

0 投票
2 回答
226 浏览

sprite-kit - SpriteKit:从 SKSpriteNode 移除重力不起作用

我正在尝试从 SKSpriteNode 中移除重力但不工作。这是我的代码:

我添加添加 SKSpriteNode:

我通过 Scene.sks 添加重力

我尝试了所有这些方法来消除重力,但都没有奏效:

如何从 SKSpriteNode 中移除重力?你们中的任何人都知道

我会非常感谢你的帮助。

0 投票
0 回答
72 浏览

request - Swift Alamofire 在 LAN 中发现

在我的局域网中,我在 6 台 MAC 计算机上运行以下终端命令来托管一个文件夹,其中discover.xml

在我的应用程序Alamofire安装后,我运行此代码以获取discover.xml内容:

以下是我的发现方式:

为什么大多数时候,我无法discover.xml从 6 台 MAC 计算机中获取 6 个?(我只能得到 2 个或 3 个或 4 个)。我得到的结果不是持久的。假设我有 6 台 MAC 计算机正在运行python -m ...,命名为:A、B、C、D、E、F。有时我只能得到:A、B、D,有时是 C、F、...

请求剩余的主机discover.xml总是有错误的计算机failed with IP: x.x.x.x:17171 => Error Domain=NSURLErrorDomain Code=-1001 "The request timed out."(我确定那些丢失的计算机已经成功获取了IP)

可以使用我上面的方法发现整个子网吗?(即使用for循环迭代每个ip)。6 秒是合理的超时时间吗?

编辑:

我试图让所有人都在 ATS 中,但情况并没有好转

ATS

实际上是什么阻止了我discover.xml在 MAC 计算机上请求?

谢谢,

0 投票
1 回答
247 浏览

ios - 如何在应用程序启动时创建多个快捷方式

所以我正在尝试在应用程序委托中捐赠多个快捷方式(如 20 种类型的活动)......如果我在特定的视图控制器中捐赠它很奇怪,但是如果我在应用程序委托中创建一个 for 循环它不起作用......这是代码:

0 投票
1 回答
454 浏览

swift - Swift:一个接一个的两个动画

我有这个小动画问题,我被卡住了。我想显示两个动画,一个接一个(首先将卡片从按钮刷到中心,然后翻转它)。所以我使用 UIView.animate 方法中的完成来触发第二个动画,一旦第一个动画完成。但在模拟器中,它每次只显示第二个动画。有人可以帮忙吗?非常感谢

0 投票
1 回答
1302 浏览

ios - Swift 4.2 类型“NSAttributedString.Key”没有成员“accessibilitySpeechPitch”

我正在将一些代码从 Swift 4.0 移动到 4.2,并且在使用 UIAccessibilitySpeechAttributePitch 时遇到了问题。在我的 Swift 4.0 文件中,我使用了:

NSAttributedStringKey(rawValue: UIAccessibilitySpeechAttributePitch)

即使在 Swift 4.0 中NSAttributedStringKey.accessibilitySpeechPitch,出于某种原因,我也不能直接将其用作 ,但我可以通过使用原始值进行初始化来解决这个问题。我似乎无法在 Swift 4.2 中做到这一点。

如果我尝试

在 Swift 4.2 中,我得到

具有相同类型“NSAttributedString.Key”作为参数的无效初始化程序调用

所以很明显UIAccessibilitySpeechAttributePitch被认为是一个NSAttributedString.Key. 但是,如果我直接使用它,我会得到:

“UIAccessibilitySpeechAttributePitch”已重命名为“NSAttributedString.Key.accessibilitySpeechPitch”

建议的修复

将“UIAccessibilitySpeechAttributePitch”替换为“NSAttributedString.Key.accessibilitySpeechPitch”

所以我单击“修复”按钮将其更改为NSAttributedString.Key.accessibilitySpeechPitch,然后我得到

类型“NSAttributedString.Key”没有成员“accessibilitySpeechPitch”

UIAccessibilitySpeechAttributePitch如果我在没有先将其更改为的情况下单击命令NSAttributedString.Key.accessibilitySpeechPitch,我会在 UIKit 的 UIAccessibilityConstants 中得到这个声明:

所以,它显然存在,但是,我的代码如何使用它?除了 UIKit 之外,我还需要为可访问性常量导入一些额外的东西吗?

编辑:我的实际代码(仅更改了一些变量名)如下:

我试过干净的建筑。我正在使用 Xcode 版本 10.0 (10A255)

0 投票
2 回答
1206 浏览

swift - NavigationItem TitleView 约束不起作用

我想使用 UITextField 创建一个搜索栏。我尝试将 NavigationItem 的 TitleView 设置为文本字段并设置相应的约束。但是导航栏中心的文本字段仍然很短。如何使文本字段填满整个导航栏?这是我的代码:

它看起来如何 rn: UIView