小编Jos*_*lme的帖子

上下文菜单破坏性操作,SwiftUI

我正在尝试在上下文菜单中添加删除操作,但它只是显示为默认的黑色。照片应用程序的删除操作也使用红色。我已经看到了一些网上的空间,这是不是目前所提供的功能contextMenu,但是,我也看到了它在第三方应用程序使用在野外这里。有谁知道如何做到这一点?

此外,看好苹果的文档contextMenu它说,他们已经过时了,除了MacOS的一切。我觉得奇怪的是,他们在引入它一年后就弃用了它。这是否被我应该使用的另一个组件所取代?

var body: some View {
        ScrollView {
            LazyVGrid(columns: columns, spacing: 20) {
                ForEach(photos) { photo in
                    Image(uiImage: UIImage(data: photo.imageData!)!)
                        .resizable()
                        .aspectRatio(1, contentMode: .fill)
                        .contextMenu(menuItems: {
                            Button(action: {
                                deletePhoto(selectedPhoto: photo)
                            }) {
                                Label("Remove", systemImage: "trash")
                            }
                        })
                }
            }
            .padding()
            .navigationBarTitle(Text("Albums"))
            .navigationBarItems(trailing:
                Button(action: {
                    self.showingImagePicker = true
                }) {
                    Image(systemName: "plus.circle.fill")
                }
            )
            .sheet(isPresented: $showingImagePicker, onDismiss: loadImage) {
                ImagePicker(image: self.$inputImage)
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

ios swift swiftui ios14

6
推荐指数
1
解决办法
619
查看次数

CoreData 无法识别的选择器发送到实例

我正在尝试将 CoreData 添加到我的应用程序中。此应用程序将成为一个照片应用程序,并为用户提供将照片存储在相册中的能力。我目前在 CoreData 中有两个实体,Photo并且Album.

Album实体有四个属性。albumCoverImageData: Binary Data, id: UUID, name: String, passwordProtected: Boolean. 除了这些属性之外,它还有一个关系photos目的地PhotoInverse Album

Photo实体有两个属性,id: UUIDimageData: BinaryData

尝试将新专辑添加到数据库时,尝试保存上下文时,应用程序崩溃并显示以下错误。

2020-10-20 15:49:33.889808-0400 LockIt[902:92475] -[__NSConcreteUUID compare:]: unrecognized selector sent to instance 0x2817b4fe0

2020-10-20 15:53:28.604954-0400 LockIt[902:92475] [error] error: Serious application error.  Exception was caught during Core Data change processing.  This is usually a bug within an observer of NSManagedObjectContextObjectsDidChangeNotification.  -[__NSConcreteUUID compare:]: …
Run Code Online (Sandbox Code Playgroud)

core-data ios swift swiftui

3
推荐指数
1
解决办法
593
查看次数

标签 统计

ios ×2

swift ×2

swiftui ×2

core-data ×1

ios14 ×1