如何在UIViewController和之间传递数据struct ContentView?
我试过,ObservableObject但我无法获得最新的数据。
我想以编程方式能够浏览到内的一个链接List的NavigationLinks时候出现视(深深的建设从推送通知链接)。我有一个字符串 -> Bool 字典,它绑定到Binding<Bool>我的视图中的自定义。当视图出现时,我设置了 bool 属性,导航发生,但是,它立即弹出。我按照SwiftUI NavigationLink 中的答案立即导航回并确保中的每个项目List都有唯一的标识符,但问题仍然存在。
两个问题:
import SwiftUI
class ContentViewModel: ObservableObject {
@Published var isLinkActive:[String: Bool] = [:]
}
struct ContentViewTwo: View {
@ObservedObject var contentViewModel = ContentViewModel()
@State var data = ["1", "2", "3"]
@State var shouldPushPage3: Bool = true
var page3: some View {
Text("Page 3")
.onAppear() {
print("Page 3 Appeared!")
}
}
func binding(chatId: String) -> Binding<Bool> {
return .init(get: …Run Code Online (Sandbox Code Playgroud) 我正在尝试提高通过身体跟踪绘制骨骼的性能,VNDetectHumanBodyPoseRequest即使距离超过 5 米,并且使用稳定的 iPhone XS 摄像头。
跟踪对我身体右下肢的置信度较低,明显滞后且存在抖动。我无法复制今年 WWDC演示视频中展示的性能。
\n以下是相关代码,改编自Apple的示例代码:
\nclass Predictor {\n\xc2\xa0\xc2\xa0func extractPoses(_ sampleBuffer: CMSampleBuffer) throws -> [VNRecognizedPointsObservation] {\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0let requestHandler = VNImageRequestHandler(cmSampleBuffer: sampleBuffer, orientation: .down)\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0let request = VNDetectHumanBodyPoseRequest()\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0do {\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0// Perform the body pose-detection request.\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0try requestHandler.perform([request])\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0} catch {\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0print("Unable to perform the request: \\(error).\\n")\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0}\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0return (request.results as? [VNRecognizedPointsObservation]) ?? [VNRecognizedPointsObservation]()\n\xc2\xa0\xc2\xa0}\n}\nRun Code Online (Sandbox Code Playgroud)\n我已经捕获了视频数据并正在此处处理示例缓冲区:
\nclass CameraViewController: AVCaptureVideoDataOutputSampleBufferDelegate {\n\n func captureOutput(_ output: AVCaptureOutput, didOutput sampleBuffer: CMSampleBuffer, from connection: AVCaptureConnection) {\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0let observations = try? predictor.extractPoses(sampleBuffer)\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0observations?.forEach { processObservation($0) …Run Code Online (Sandbox Code Playgroud) 我下载了 Xcode 12.0 beta 5 并尝试构建我的项目,但收到以下错误:
<unknown>:0: error: unable to load standard library for target 'arm64-apple-ios9.0'
Run Code Online (Sandbox Code Playgroud)
我尝试在线搜索解决方案,但我发现的所有内容都没有帮助我解决此错误。我在 SO 上找到了这个线程,但没有一个提议的解决方案对我有用。
我认为这是与模拟器有关的错误。事实上,该项目使用通用设备和真实设备正确构建。
我正在尝试将 UTC 日期字符串DateTime解析为本地时间,然后将其解析为本地时间,但是我在将其转换为本地时间时遇到了麻烦。在英国,它应该是加一,但是当我打印时.isUtc它返回为假。
这就是我现在所拥有的:
print(widget.asset.purchaseDate);
DateTime temp = DateTime.parse(widget.asset.purchaseDate);
print(temp.toLocal());
Run Code Online (Sandbox Code Playgroud)
I/flutter (5434): 2020-05-07 21:29:00
I/flutter (5434): 2020-05-07 21:29:00.000
Run Code Online (Sandbox Code Playgroud) 似乎有一种简单的方法可以让漂亮的 iOS 应用程序在 iPad 空间上运行。一个不涉及重写 SwiftUI 应用程序的。
基本SplitView&SplitViewController问题似乎......就像一个深思熟虑的问题空间......我有一个基本的 - 带有 ContentView 的显示卡 - 我希望它在 iPad 上运行......只是一个更大的视口...... .
有什么简单的方法可以使用 SwiftUI 完成此操作吗?
我正在尝试使用@Embeddablewith根据嵌入的属性CriteriaBuilder过滤父项Entity的结果。我使用 Eclipse Link 来生成元数据类。
这是嵌入的类/实体:
@Embeddable
public class Stamp implements Serializable {
@Basic()
@Column(name = "stamp_year", nullable = false)
private int year;
Run Code Online (Sandbox Code Playgroud)
父类具有Stamp作为成员:
@Entity(name = "Message")
public class Message implements Serializable {
@Embedded
private Stamp stamp = new Stamp();
Run Code Online (Sandbox Code Playgroud)
现在这段代码应该使用Message基于嵌入类属性年份的类和过滤结果:
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<Message> cq = cb.createQuery(Message.class);
Root<Message> root = cq.from(Message.class);
Predicate p = cb.conjunction();
p = ??????
cq.where(p);
TypedQuery<Message> tq = em.createQuery(cq);
List<Message> messages = tq.getResultList();
Run Code Online (Sandbox Code Playgroud)
在第 5 …
我正在尝试自定义容器形状,如下所示:
我尝试使用 customPaint 来完成此操作,但我不太了解这个小部件,所以我需要帮助。
我怎样才能画出这样的形状?customPaint 是正确的解决方案吗?
我目前正在作为 Apple 私人测试版计划的成员测试 Xcode Cloud,并在尝试在云上为我的项目存档/构建(任何操作)时遇到问题。
该项目是一个相当基本的 SwiftUI 应用程序,具有 CocoaPods 依赖项。我已按照Apple 描述的步骤将 CocoaPods 集成到我的项目中,只需将我的 Pods 目录提交到 GitHub。但是,对于每次尝试的操作,我都会在云上收到构建错误:
命令 PhaseScriptExecution 失败,退出代码非零
这是ASC日志供参考:
这很奇怪,因为同一个项目在我的本地计算机上成功构建和存档。我在工作流程编辑器中使用了与本地 Xcode 版本相同的 macOS 和 Xcode 版本。
我该如何解决这个错误?
我正在 Flutter 中开发一个应用程序。我尝试在应用程序中使用 Provider 但遇到了这个错误:
Tried to listen to a value exposed with provider, from outside of the widget tree.
E/flutter ( 2850):
E/flutter ( 2850): This is likely caused by an event handler (like a button's onPressed) that called
E/flutter ( 2850): Provider.of without passing `listen: false`.
E/flutter ( 2850):
E/flutter ( 2850): To fix, write:
E/flutter ( 2850): Provider.of<Complexes>(context, listen: false);
E/flutter ( 2850):
E/flutter ( 2850): It is unsupported because may pointlessly rebuild the widget associated to …Run Code Online (Sandbox Code Playgroud) 我想格式化文本。
Text("Hello")
.foregroundColor(self.amount > 20 ? .blue : .white)
Run Code Online (Sandbox Code Playgroud)
你会如何添加另一个条件:
if self.amount > 100 and self.amount > 200
Run Code Online (Sandbox Code Playgroud)
等等?
我最近看到 Swift 在Swift 5.5 中引入了对 Actor 模型的并发支持。当我们有一个共享的、可变的状态时,这个模型支持安全的并发代码以避免数据竞争。
我想避免应用程序 UI 中的主线程数据竞争。为此,我将DispatchQueue.main.async在调用站点中设置UIImageView.image属性或UIButton样式的任何地方进行包装。
// Original function
func setImage(thumbnailName: String) {
myImageView.image = UIImage(named: thumbnailName)
}
// Call site
DispatchQueue.main.async {
myVC.setImage(thumbnailName: "thumbnail")
}
Run Code Online (Sandbox Code Playgroud)
这似乎不安全,因为我必须记住在主队列上手动调度该方法。另一种解决方案如下所示:
func setImage(thumbnailName: UIImage) {
DispatchQueue.main.async {
myImageView.image = UIImage(named: thumbnailName)
}
}
Run Code Online (Sandbox Code Playgroud)
但这看起来像很多样板文件,我不会说我喜欢将它用于具有不止一层嵌套的复杂功能。
Swift 对 Actors 的支持看起来像是一个完美的解决方案。那么,有没有办法让我的代码更安全,即始终使用 Actors 在主线程上调用 UI 函数?
ios ×9
swift ×6
swiftui ×5
android ×2
flutter ×2
avfoundation ×1
avkit ×1
dart ×1
eclipselink ×1
embeddable ×1
ipad ×1
jpa ×1
metamodel ×1
provider ×1
swift5.5 ×1
vision ×1
xcode ×1
xcode-cloud ×1
xcode12 ×1