问题标签 [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.
ios - 如何通过objective c将UIView的甘特图绘制到UIViewController中?
我是 iOS 开发的新手。所以请指导我一步一步绘制甘特图。我看过谷歌图表 Api 但没有绘制甘特图。提前致谢。
swift - SwiftUI `@State` 关键字有什么作用?
SwiftUI教程使用@State
关键字来表示可变的 UI 状态:
@State var showFavoritesOnly = false
它提供了以下摘要:
状态是一个值或一组值,可以随时间变化,并影响视图的行为、内容或布局。您可以使用带有 @State 属性的属性来向视图添加状态。
- 关键字究竟是什么意思?
- 变异变量如何
@State
导致重新计算视图? body
getter中的其他变量如何不可变?
swift - @propertyDelegate 和 @propertyWrapper 之间的区别
@propertyWrapper
和 和有什么不一样@propertyDelegate
?在他们谈论的所有 WWDC19 视频中@propertyWrapper
,但所有实际实现都使用@propertyDelegate
(即SwiftUI - State);上的编译器Xcode 11 Beta
似乎同时接受并要求完全相同的要求:
请注意,在这两种情况下,编译器都会说"Property delegate"。
我是否遗漏了什么,或者这是因为他们尚未决定使用哪个名称?
ios - 将 BindableObject 传递给视图
在 Apple 的会话和教程中,我们有两个选项可以将 BindableObject 传递给视图。
- 在具有包装器的层次结构的顶部视图中使用声明
BindableObject
作为事实来源,@ObjectBinding
并将其传递给具有@Binding
声明的其他视图。 - 在具有包装器的层次结构的顶部视图中使用声明
BindableObject
作为事实源,使用修饰符初始化顶部视图并将其传递给其他视图或声明,或使用(在这种情况下将由 SwiftUI 自动分配,我们不需要将它传递给init)。@EnviromentObject
.enviroment(BindableObject)
@Binding
@EnviromentObject
BindableObject
从处理用户输入教程中,如果我们有BindableObject
项目列表并且我们想要更改其他视图(或 RowView 甚至单独的屏幕)上的项目之一,我们需要:
- 使用上述任何一种方式将其传递
BindableObject
到更深层次的视图。- 将所选项目传递到此视图。
- 通过在列表中
BindingView
查找项目来绑定项目的属性。BindableObject
一些代码可以使问题更清楚:
消息模型和BindableObject
MessageView 表示项目列表 struct MessagesView
MessageRow 有一个 Toggle 来更新特定项目的状态 in outBindableObject
这种方法显示在我上面提到的教程中。
问题:
我想单独传递 Message 作为 a@Binding
直接在子视图中使用它,但我无法实现这一点。我变得有些困惑。BindableObject
将项目和选定项目传递给任何视图(应该处理绑定)以稍后BindableObject
使用索引绑定项目是否是正确的方法?有没有其他方法可以允许通过BindableObject
它的一部分而不是完整并绑定这部分(它应该是真相的来源),在我们的例子中,这部分是Message
?
ios - 未能建立活动方案
我的SwiftUI
项目将不再构建。它告诉我Failed to build active scheme
没有更多信息。
这是完整的存储库: https ://github.com/nathfreder/HackerNews/tree/master/HackerNews
改了之后才发现这个问题
至
ios - Swift 5.1 Opaque Result Types 如何与旧操作系统(例如 iOS 12)交互
在 WWDC 2019 session 402 " What's New in Swift " 中,演讲者在讨论 Swift 5.1 功能Opaque Result Type (SE-0244)时提到该功能仅适用于新操作系统:
需要新的 Swift 运行时支持
适用于 macOS Catalina、iOS 13、tvOS 13、watchOS 6 及更高版本
Guard 在部署到早期操作系统版本时使用可用性检查
在 Xcode 11 中,如果我在针对 iOS 11 及更高版本时使用此功能编写代码,我不会收到任何构建错误(或警告)。我没有在if #available(iOS 13.0, *)
检查中包装任何代码。例如:
然后foo()
从我的应用程序中的一些代码调用。
如果此代码在 iOS 13 之前的设备上运行会发生什么?缺少构建错误本身是错误吗?是否有明确的清单列出哪些 Swift 5.1 功能需要新的运行时支持,以及特定的操作系统版本?
swift - 对成员“buildBlock()”的模糊引用
我一直在尝试使用 Swift UI 为 iOS 13 制作应用程序,但我不断收到这个奇怪的错误:“对成员 'buildBlock()' 的模糊引用”。
无论我做什么,错误都不会消失。
我尝试一次注释代码部分,以查看可能导致问题的部分,但唯一有效的是注释掉整个视图。
我已经尝试清理我的构建文件夹并删除派生数据。我还尝试多次重新启动计算机和 Xcode,但没有任何修复。
我很确定这只是一个 Xcode 错误,但一定有它周围的地方,如果有人能告诉我那是什么,我将不胜感激。
编辑:
事实证明,我忘记了在视图构建器闭包中最多只能有 10 个视图,而我拥有的不止这些。只需将它们分组以减少查看次数即可解决该错误。
事实证明,Xcode 显示的错误非常具有误导性。
感谢 Hamish 指出
swift - SwiftUI:如何为警报使用 .presentation 修饰符?获得编译器类型检查错误
我正在将我在 UIKit 中制作的测验应用程序重新构建到 SwiftUI 中以获得乐趣,但我遇到了下面最后一个 .presentation 修饰符的编译器错误。
我不知道我会如何打破这个。看起来很简单。运行 2012 MacBook Pro Retina i7。