小编Nev*_*vin的帖子

从swift 3迁移到swift 4 - 无法将String转换为期望的String.Element

我将我的代码从swift 3转换为swift 4并在以下代码中获取此错误.即使我尝试使用flatmap来展平数组,我也会得到这个

无法将'String'类型的值转换为预期的参数类型'String.Element'(又名'Character')

if favoritedProducts.contains("helloWorld") {}
Run Code Online (Sandbox Code Playgroud)

下面的代码行不返回[String]而是返回'[String.Element]'如何将其转换为[String].如果我尝试将其转换为[String],它会说它总会失败.

let productIDs = allItems.flatMap{$0.productID}
Run Code Online (Sandbox Code Playgroud)

swift swift3 swift4

7
推荐指数
1
解决办法
2065
查看次数

iOS 11与Refresh Controller和navigationBar一起出现问题,它们更喜欢将LargeTitles设置为true

我正在使用导航控制器,在导航控制器中,我有一个带有tableview的VC,它拥抱superView的顶部,底部,左侧和右侧.当我self.navigationController?.navigationBar.prefersLargeTitles设置为false时,一切正常.但是当我将它设置为true时,我必须拖得非常远,以使我的刷新控制器触发刷新.

这可以通过简单地点击一个单元格然后进入详细视图然后按下详细视图中的后退按钮以返回到具有主要表视图和复习的vc来解决.在这之后,刷新的提升与大型标题完美配合.很奇怪!

我有一个非常基本的tableview设置.我的实际项目有一个更复杂的设置,但为了隔离这个问题,我创建了一个更简单的项目,具有相同的tableview并且问题仍然存在.有没有人见过这个问题?我认为这是苹果公司的问题,但我想检查一下我是否做错了什么.

我使用swift 4和iOS 11.0.2与Xcode 9.

动画师开始制作动画但是当它获得某个(它应该刷新的点)时,它就会停止.当我继续进一步拉下来时,它会刷新.但它应该早一点完成.我必须下拉到导航栏几乎延伸到整个屏幕长度的位置.查看截图.在此输入图像描述

ios swift swift4 ios11

5
推荐指数
1
解决办法
1494
查看次数

标签 统计

swift ×2

swift4 ×2

ios ×1

ios11 ×1

swift3 ×1