问题标签 [swift4.1]

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 投票
1 回答
4825 浏览

swift - Swift 4.1 deinitialize 和 deallocate(capacity:) 已弃用

我一直这样说是为了形成一个 CGPoint 的 C 数组:

现在(Xcode 9.3 beta 中的 Swift 4.1)deinitializedeallocate(capacity:)都已弃用。看起来我现在应该说的可能是:

是对的吗?

0 投票
1 回答
4888 浏览

swift - Xcode 9.2 未显示 Swift 4.1

Apple 兼容性文档提到:

Swift 4.1,默认的 Swift 版本,包含在 Xcode 9.2 中。

然而,使用 Xcode 版本 9.2 (9C40b),我选择的 Swift 语言版本是 3.2 和 4.0:
Swift 语言版本下拉菜单

是文档中的错误还是 Xcode 中的问题?我可以将 Swift 4.1 与 Xcode 9.2 一起使用吗?我可以使用它提交到 AppStore 吗?

0 投票
2 回答
365 浏览

ios - 无法正确地为父视图中的子视图框架设置动画

我正在尝试为视图中子视图的帧更改设置动画。在动画块中,我将子视图的大小设置为其原始宽度和高度的一半。但是,当我运行代码时,子视图意外地以更大的尺寸开始并缩小到其原始尺寸,而不是变成其原始尺寸的一半。我正在使用下面的代码:

我的自定义视图:

我的视图控制器:

我做错了什么吗?

0 投票
1 回答
3703 浏览

ios - 如何在 Swift 4 中更改 UITextfield 占位符的颜色?

如何在 Swift 4 中更改 UITextfield 占位符的颜色?似乎是一项简单的任务,但由于我是新的编程和 Swift,我很难弄清楚。我想以编程方式更改颜色。

0 投票
3 回答
12962 浏览

swift - Swift 中 flatMap 和 compactMap 的区别

似乎在Swift 4.1 flatMap中已弃用。但是Swift 4.1 compactMap中有一个新方法在做同样的事情?您可以转换集合中的每个对象,flatMap然后删除任何为零的项目。
喜欢 flatMap

像 compactMap

compactMap正在做同样的事情。

这两种方法有什么区别?为什么 Apple 决定重命名该方法?

0 投票
1 回答
2221 浏览

xcode - Swift 4:无法将“Int”类型的返回表达式转换为“[String:Any]?”

在prepare(for segue:)中,我将所选项目的 id:Int 添加到用户默认值中,如下所示

在我的 ApiRouter 中,我需要访问该值(我认为我需要它作为字符串,因为它是一个 URL 参数)但是我得到了

“无法将'Int'类型的返回表达式转换为返回类型'[String:Any]?'”

使用此代码

我不知道捕获所选行并运行回 api 以获取正确记录的另一种方法

0 投票
0 回答
31 浏览

ios - swift 4 中弃用的子字符串

我正在使用天气应用程序,它给我警告使用 'partial range upto' 运算符进行切片下标。

0 投票
0 回答
127 浏览

metadata - 在 swift4 中保存元数据

我已经搜索了许多页面,试图找到代码来保存使用 UIViewController 捕获的元数据,使用 Swift4.1

是否有可供参考的示例代码?

0 投票
1 回答
1983 浏览

ios - “表达式隐含强制”警告是什么意思?

0 投票
2 回答
931 浏览

ios - 如何用一根手指“触摸和拖动”旋转 SpriteNode

如何用一根手指“触摸并拖动”旋转 SpriteNode,以便:

  • 它不会晃来晃去
  • 它在一个圆圈中移动(我已经成功完成了这部分几次 - 使用纯代码解决方案和使用 SKS 文件)
  • 它产生一个有意义的值(就像物理控制旋钮一样)
  • 当我的手指在它上面时它会移动,但当我的手指不在它上面时它不会移动

我尝试过的事情:

使用 CGAffineTransform 的 CGAffineTransformMakeRotation来实现 SpriteKit 中旋钮的旋转。但我无法弄清楚如何在 SpriteNode 上使用 CGAffineTransformMakeRotation。我可以将不同类型的对象放入我的场景中或在其之上,但这是不对的。

例如,Matthijs Hollemans 的 MHRotaryKnob https://github.com/hollance/MHRotaryKnob 。我将 Hollemans 旋钮从 Objective C 翻译成 Swift 4,但在 SpriteKit 中使用它来旋转精灵时遇到了麻烦。我没有明白这一点,因为我不知道如何knobImageView.transform = CGAffineTransformMakeRotation (newAngle * M_PI/180.0);在 Swift 中使用 SpriteKit。我知道我可以使用 Hollemans Objective C 类并将 UIImage 推到我的场景顶部,但这似乎不是最好的也不是最优雅的解决方案。

我还将Wex的解决方案从 Objective C 翻译为 Swift Rotate image on center using one finger touch 使用Allan Weir关于处理代码的 CGAffineTransform 部分的建议https://stackoverflow.com/a/41724075/1678060 但那不起作用。

我尝试直接在我的精灵上设置zRotation而不使用 .physicalBody 无济于事。它具有相同的生涩运动,并且不会在您希望它停止的地方停止。并以与您的手指拖动相反的方向移动 - 即使您将“-”放在弧度角的前面。

我还在Stack Overflow 上 尝试了 0x141E的解决方案:围绕固定点拖动旋转节点 这是下面使用 .sks 文件发布的解决方案(稍作修改-我尝试了未修改的版本,但效果并不好)。该解决方案会晃动,无法顺利跟随我的手指,无法始终将旋钮移动到特定点。如果我设置physicsBody 属性以创建摩擦、质量或angularDamping 和linearDamping 或降低SKSpriteNode 的速度,这无关紧要。

我还在互联网上搜索使用 SpriteKit 在 Swift 4 中寻找一个好的解决方案,但到目前为止无济于事。

编辑:如果我删除转换为度数并将 SKAction 的持续时间更改为 1.0,SKAction.rotate(toAngle:duration: 1.0, shortestUnitArc:)那么它几乎可以工作:不像生涩,但仍然是混蛋;控制杆不会改变方向 - 这意味着有时如果您尝试将其移动到与行进方向相反的方向,它会继续围绕锚点沿旧方向移动,而不是拖动它的新方向。

编辑 2:GreatBigBore和我讨论了 SKAction 旋转和 self.zRotation——上面的代码和下面的代码。

编辑 3:sicvayne为 SKScene 建议了一些代码,我已经适应了 SKSpriteNode(如下)。它不会始终如一地移动,也不会让您停在特定的地方。