我最初是为 iPad 设计的应用程序,现在也想为 iPhone 添加功能。有没有办法检查正在使用的设备是什么,然后相应地显示视图?
结构化英语:
IF current_device == iPhone THEN
DISPLAY iPhoneView
ELSE IF current_device == iPad THEN
DISPLAY iPadView
Run Code Online (Sandbox Code Playgroud)
如果可能的话,我还希望 iPad 视图仅水平可用,然后 iPhone 视图仅在可能的情况下垂直可用。
我的应用程序有一个用户使用的主屏幕,然后一旦完成,就转到另一个视图,当前实现为.fullscreencover. 我希望用户能够按下按钮,应用程序几乎会重置,将所有内容恢复到应用程序首次启动时的状态,并重置所有变量和类。
我尝试过的一种方法是在最终视图之上再次打开视图,但这不会重置它。这是我尝试过但不起作用的代码:
Button("New Game"){
newGame.toggle()
}
.fullScreenCover(isPresented: $newGame){
ContentView()
}
Run Code Online (Sandbox Code Playgroud)
除此之外,我还尝试了导航视图,但这会导致我的应用程序的功能出现更多问题。
是否有一行代码可以让您执行此操作?
我开始研究 CoreData 并有两个实体。这些形成了 Player 之间的多对多关系:
和团队:
我试图在列表中使用 ForEach 遍历团队的球员,但我似乎无法让它工作。我一直在尝试的代码如下。我尝试的任何其他解决方案都会出现错误,例如“NSObject 类型的值没有成员名称”
struct PlayersView: View{
var team: Team
var body: some View{
NavigationView{
List{
ForEach(Array(team.people! as Set), id: \.self){ player in
Text("\(player.name)" ) //Error on this line
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?我想我需要将播放器类型改回播放器对象,但我不确定