问题标签 [swift5.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.
ios12 - iOS 13 UITableViewCell | 子视图被剪掉
所以我有一个UITableView
包含一个UITableViewCell
并tableView.header
设置为视差标题的。有UITableViewCell
某些UIView
s 被设置为 Top 的负约束,并且在iOS-12上完美显示,而在iOS-13UIView
上观察时,在 Parallax Header 上显示的s 被剪裁。我已经尝试了所有可能的解决方案,但不幸的是它仍然显示相同。我的应用程序选择退出 SwiftUI 并仍在运行旧代码。我什至试图改变zIndex
孩子的,UIView
但还是一样。以下是一些快照和一些代码:
此代码适用于iOS-12但不适用于iOS-13。
更新:
Apple 的iOS-13变更日志/文档建议:
UITableViewCell 类的 contentView 属性始终与相邻附件边对边布局,无论是在前边还是尾边。这简化了布局代码,因此想要正确的默认偏移量的开发人员不再需要根据尾部是否有附件将其内容与内容视图边框或布局边距对齐。您现在应该始终在单元格内容视图的布局边距上布置他们的代码,以获得默认的系统插图。这些插图将根据单元格中可见的附件自动调整,以匹配系统的默认间距。(48214114)
这对我来说有点不清楚,如果有人可以在这里帮助我。
以下是有关它在iOS-12中的显示方式的快照,这是必需的,以及它在iOS-13中的显示方式分别为:
在这里观察iOS-13:
这也是我的约束UITableViewCell
布局PriceView
:
我需要在两个操作系统上保持一致。非常感谢您的帮助!
ios - Swift5 数据在传递时为 Nil,即使它不是
我在 Swift 中有一个奇怪的问题。
它与在视图控制器之间传递数据的其他问题有关,但这里的区别在于,它旨在传递从“didSelectRowAt”方法加载的简单对象。
选择行时,我正在从表视图控制器传递数据。数据作为对象传递,我可以打印数据并在委员会中查看它但是当我尝试从中分配值时,我得到了可怕的:'在隐式展开可选值时意外发现 nil' 错误。不知道我在这里错过了什么!
从表视图控制器 A:
由 Table View Controller B 接收:
“打印”语句显示我输入的测试数据,“类型”显示我设置的学生类,如下所示。
当我尝试在表视图控制器 B 的文本字段中显示文本时,代码失败。我在调用堆栈中看到 selectedStudent 的数据为空白。但怎么可能呢?该对象已填充且可访问。
ios - 应用程序在 Xcode 11 上启动后立即崩溃
在 Xcode 11 中,我的应用程序第一次运行良好,但是一旦它被杀死或崩溃,它就无法打开,它不断崩溃并显示以下错误日志
崩溃日志
swift - App Store 审核流程是否拒绝 Swift 私有功能(如函数构建器)?
我正在尝试使用函数构建器(Swift 5.1 中包含的@_functionBuilder)构建一些功能。
我知道使用私有框架 API 是不允许的,但私有语言功能也同样适用吗?
我已经尝试查找此内容,但找不到有关专门解决此问题的主题的任何相关信息。如果有人能帮助我解决这个问题,我将不胜感激。
ios13 - iOS 13 UIBackgroundTaskIdentifier
无法结束 BackgroundTask:不存在具有标识符的后台任务,或者它可能已经结束。中断 UIApplicationEndBackgroundTaskError() 进行调试。
swift5.1 - 使用 @propertyWrapper 包装的属性不会返回包装类型
在这个简化的示例中,我创建了 UInt 的 propertyWrapper 来保存自然数(整数 > 0)。我自己的示例使用了更复杂的过滤器,但这说明了问题。问题的重点不是找到解决方法,而是阐明(对我而言)令人困惑的错误。
将它分配给一个简单的 UInt 会带来列出的错误消息。
在下面的行中使用它的 WrappedValue 属性可以正常工作。但可以肯定的是,包装的全部意义在于能够将其视为 get 返回的 UInt 吗?
错误“无法将类型 'NonZero' 的值分配给类型 'UInt”似乎破坏了包装器类型的全部要点。我有什么误解?Xcode 11.0
ios - 如何将 ObservableObject 与 UIViewRepresentable 一起使用
我正在SwiftUI
使用 MVVM 构建一个应用程序。
我需要一些额外的文本字段行为,所以我将 a 包装UITextField
在一个UIViewRepresentable
视图中。
@State
如果我在包含我的文本字段的视图中使用简单的文本来绑定文本,则自定义文本字段的行为符合预期;但由于我想将我的文本字段的所有文本存储在视图模型中,我使用的是@ObservedObject
; 使用它时,文本字段绑定不起作用:它看起来总是重置为初始状态(空文本)并且它不发布任何值(并且视图不刷新)。
这种奇怪的行为只发生在UIViewRepresentable
视图中。
我的主视图包含一个表单,它看起来像这样:
视图模型是这样的:
最后,这是我的自定义文本字段:
swift - 实例化的可选变量在 Xcode 调试器中显示为 nil
自从我升级到 Xcode 11 和 Swift 5.1 后,我遇到了一个奇怪的问题——在一个可选变量被实例化之后,它仍然可以在 Xcode 调试器中显示为 nil!
我有一个可选的类变量,称为booking
:
它的类型Booking
:
当我单步执行代码时,我可以booking
在分配之前看到......它为零,太棒了:
然后在分配之后......什么,仍然为零??:
我想知道它是否以某种方式被视为一个惰性变量。但它并不是真正的 nil,因为它可以被访问:
搜索了一段时间后,我想知道我在 Xcode 中的构建模式是否没有设置“调试可执行文件”标志。但确实如此。我什至在打开和关闭标志的情况下清理并重建了项目,以确保。
无论我booking
是在变量视图中查看还是p booking
在控制台视图中输入,它都显示为 nil。
这里发生了什么?我需要在此升级之前进行调试的可预测性。
更新
我提炼出一个简单的方法来重现这个问题。首先,创建一个空的单视图项目并将其添加到 AppDelegate.swift 的顶部:
然后将这些行添加到 application(_:didFinishLaunchingWithOptions:) 函数中:
像之前一样设置断点,在运行时,请注意即使在分配后调试器也会显示预订为零,就像我原来的情况一样。
然后注释掉变量,start_time
重新运行,并注意现在调试器显示booking
在分配后有一个值,正如人们所期望的那样。
所以看起来像这样的结构中的 Date 变量,无论是否可选,都会使调试变得混乱。特别是日期变量——将变量更改为其他类型,如 Int、Int?、String、String?... 并且没有问题。
除非我遗漏了一些非常基本的东西,否则这对我来说似乎是 Xcode 调试器中的一个错误。如果是这样,最好的报告方式是在https://developer.apple.com/bug-reporting/吗?
ios - Swift 5.0 编译器无法导入使用 Swift 5.1 编译的模块
Swift 5.0 编译器无法导入使用 Swift 5.1 编译的模块
我需要在 swift 5.1 中编译我的 sdk,以便它可以在使用 swift 5 的项目构建中工作
ios13 - iOS 13 安排 iOS 后台任务
我正在实施 BackgroundTasks 框架来更新数据。但我得到了以下问题