Ios 如何解决;SwiftUI未能更新预览";问题
Ios 如何解决;SwiftUI未能更新预览";问题,ios,swift,xcode,swiftui,Ios,Swift,Xcode,Swiftui,我正在按照苹果的教程学习SwiftUI: 在第2节第4步中,当我输入与说明相同的代码时: import SwiftUI struct LandmarkRow: View { var landmark: Landmark var body: some View { Text("Hello, World!") } } struct LandmarkRow_Previews: PreviewProvider {
我正在按照苹果的教程学习SwiftUI: 在第2节第4步中,当我输入与说明相同的代码时:
import SwiftUI
struct LandmarkRow: View {
var landmark: Landmark
var body: some View {
Text("Hello, World!")
}
}
struct LandmarkRow_Previews: PreviewProvider {
static var previews: some View {
LandmarkRow(landmark: landmarks[0])
}
}
SwiftUI预览不工作(不显示任何内容)并返回错误消息:
RemoteHumanReadableError: Failed to update preview.
The preview process appears to have crashed.
Error encountered when sending 'previewInstances' message to agent.
==================================
| RemoteHumanReadableError: The operation couldn’t be completed. (BSServiceConnectionErrorDomain error 3.)
|
| BSServiceConnectionErrorDomain (3):
| ==BSErrorCodeDescription: OperationFailed
我甚至尝试复制粘贴苹果的示例代码,但预览也不起作用。尽管前面教程中的其他SwiftUI视图工作正常,但我怀疑它可能与代码末尾的预览提供程序结构有关,我在线搜索了它,但没有找到帮助 以下是我的应用程序版本: Xcode版本:12.5(12E262)
MacOS版本:11.3.1大苏尔 在这个问题解决之前,我无法继续学习。
非常感谢您的任何意见。奇怪的是,在我从头开始教程之后,这个问题就消失了。SwiftUI预览现在可以正常工作了也许在您的代码片段中,您刚刚漏掉了一些位,因为代码不应该重复。您指向了一个名为landmarks的数组,但看起来并没有创建供预览使用的数组对象。这应该起作用:
struct LandmarkRow_Previews: PreviewProvider {
static var previews: some View {
LandmarkRow(landmark: Landmark())
}
}
复制并粘贴给您带来问题的文件的代码。因此,请阅读并改进、编辑和格式化您的问题。奇怪的是,在我从头开始教程之后,这个问题就消失了。SwiftUI预览现在可以正常工作了。最简单的方法是在模拟器中运行代码,因为在那里你会得到真实的错误和更有意义的崩溃报告。是的,你说得对,我想我错过了一些代码,Xcode停止工作,当我试图“复制”教程中的代码时,这种情况会发生几次。谢谢