问题标签 [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 投票
1 回答
3630 浏览

swift - Xcode 10 的编译器看不到文件夹引用中的 Swift 文件中的类

我们有一个包含近 1K Swift 文件的项目。如果所有内容都在组内,它就可以很好地工作,但是当尝试将一些文件夹引用添加到包含 Swift 文件的目录时,编译器只是看不到这些文件中定义的任何东西(例如类)。它适用于捆绑和数据文件,但不适用于源代码。

我还尝试使用不同的方法(拖动、使用菜单和手动浏览等)将现有组更改为文件夹,并且 XCode 停止查看在这些 Swift 文件夹文件中声明的实体。当我将同一个文件夹切换回一个组时(删除-> 删除引用-> 将文件添加到项目...),它又可以工作了。

请注意,我打开了文件检查器,并且已经确保检查了参考文件夹的目标。还尝试取消选中它并再次检查,以防万一添加文件时出现另一个 XCode-bug。没有任何效果。

我所做的另一个实验是将文件夹移动到根目录,因此该文件夹不在group中。也没有用。

每次尝试后,我总是清理项目的构建文件夹,以防万一。

请注意,以下问题并未提供任何有用的提示来解决此问题:

当然,另一个对我来说没有意义,因为我想要文件夹,而不是组,因为我发现它们更容易使用,特别是维护,考虑到这个特定项目的大量 Swift 文件:将文件夹添加到Xcode 项目未正确添加

0 投票
3 回答
1563 浏览

ios - Swift 解码具有多种不同格式的数据类型

我从服务器返回了一个“几种”不同格式的布尔值(对于相同的结构和字段)。我知道这很荒谬,但我需要找到一种方法来干净地处理它。

所以为了反序列化它,我做了类似(示例程序)的事情:

现在,如果我使用 Swift Codable(我们所有的数据结构都已经使用),那么我们将得到类型不匹配并引发错误/异常。我曾考虑尝试捕获每个案例并尝试使用不同类型的另一个解码,但最终会像:

然后这让我考虑先将它转换为字符串,然后尝试解析它,所以我最终得到了(至少比上面的更好):

但肯定有更好的方法吗?有任何想法吗???

0 投票
2 回答
3487 浏览

ios - 使用 '!' 这里已弃用,将在未来的版本中删除 - swift 4.2

在 Swift 4.2 中使用 SDWebimage 在单元格中设置图像时,编译器会抛出以下警告。

Swift 编译器警告:

使用 '!' 这里已弃用,将在未来的版本中删除

有什么建议么 ?

0 投票
1 回答
195 浏览

swift - Swift 4.2 & 观察枚举值

我想为枚举值附加观察。

我的简单代码使用集成到 Swift CryptoTokenKit 包中

此代码生成唯一的 .init 事件,我使用相同的代码来监视slotNames(字符串数组),它运行良好。

那么,如何为这个枚举状态附加观察

此处的文档链接

感谢您的任何建议

0 投票
3 回答
219 浏览

ios - CoreData NSPredicate

我将一个旧项目从 Swift 1 转换为使用 CoreData 的 Swift 4.2(在主要版本步骤中,全部成功构建)。

现在编译器在尝试执行此代码时会抛出以下错误:

错误:

2018-09-25 17:19:06.606722+0200 AppName[538:144354]-[_NSFaultingMutableSet filteredOrderedSetUsingPredicate:]:无法识别的选择器发送到实例 0x17063afc0 2018-09-25 17:19:06.607861+0204 * AppName:1453] ** 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[_NSFaultingMutableSet filteredOrderedSetUsingPredicate:]: unrecognized selector sent to instance 0x17063afc0”

*** First throw call stack: (0x18f5d6fd8 0x18e038538 0x18f5ddef4 0x18f5daf4c 0x18f4d6d2c 0x100126ce0 0x10015fa10 0x10015fc18 0x195ff9268 0x19575f884 0x19575a4ac 0x1956fc158 0x1928ec274 0x1928e0de8 0x1928e0ca8 0x19285c360 0x1928833c0 0x1956f17a0 0x18f5849a0 0x18f582628 0x18f582a74 0x18f4b2d94 0x190f1c074 0x195764130 0x100110cb4 0x18e4c159c)

libc++abi.dylib:以 NSException 类型的未捕获异常终止

任何指针将不胜感激。

0 投票
1 回答
128 浏览

swift - 如何在没有 UIInterpolatingMotionEffect 类的情况下添加 ParallaxEffect

如果没有 UIInterpolatingMotionEffect 类,我怎么能做视差效果。只有在 iPhone 中的加速?当您将手机向上倾斜时,我想要图像上升到的效果。只是普通的视差效果

我试过这个:

0 投票
2 回答
160 浏览

swift - 从 C 导入的扩展结构

我是 Swift 的新手,我有这个扩展:

由于 Swift 4.2rawValue = animationOptions.rawValue产生了这个警告:

我使用这样的扩展名:

如何从 中修复此警​​告消息struct was imported from C

0 投票
1 回答
1007 浏览

ios - swift 4.2 Enum case '' not found in type '?' switch 语句中要求冗余解包隐式解包的可选

我有以下枚举:

以及以下属性定义:

在 swift 4.2 之前,我使用以下 switch 语句:

由于切换到 swift 4.2,这个 switch 语句给了我错误:

我觉得这很奇怪,因为我已经用感叹号清楚地定义了类型,以隐式地解开可选项。但是,它似乎没有这样做。为了使错误消失,我需要按如下方式执行切换:

我在上面所做的是再次解开 exampleProperty 变量,即使定义是隐式解包的,并且还从开关中删除了默认值。

只是想知道为什么 swift 4.2 会发生这种变化?是 switch 语句的变化还是为什么再次需要这种展开。好像是多余的?

0 投票
1 回答
298 浏览

swift - 转换 SWIFT 4.2 自动更新时出错

由于我转换为 Swift 当前语法,我的两个 pod 扩展显示相同的错误:

在这两行:

豆荚是:CountdownLabelLTMorphingLabel

我怎样才能解决这个问题 ?

0 投票
1 回答
639 浏览

ios - deserialization failure with swift4.2 (xcode10) Abort trap: 6

I tried to transfer swift 4 to swift 4.2 with XCode 10.0 release then got this msg:

and this in the end:

I looked for some reasons such as .zero, then even I replaced all .zero in my code, it still have this problem.

Does someone know how to fix this fatal error?