質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

1回答

1418閲覧

【Swift】Redundant conformance of 'TodoEntity' to protocol 'Identifiable'エラー

branchpeach

総合スコア12

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2021/05/19 10:24

現状

swiftで簡単なtodoアプリを制作していて、
previewをビルドするとRedundant conformance of 'TodoEntity' to protocol 'Identifiable'
エラーが出ております。

簡単なリストを表示しようとTodoList.swiftでpreviewを表示しようとしたところでエラーが出ております。
![イメージ説明

該当コード

swift

1//TodoEntity+Extension.swift 2 3import CoreData 4import SwiftUI 5 6extension TodoEntity: Identifiable{} 7extension TodoEntity { 8 9 static func create(in managedObjectContext: NSManagedObjectContext, 10 category: Category, 11 task: String, 12 time: Date? = Date()) { 13 let todo = self.init(context: managedObjectContext) 14 print(task) 15 todo.time = time 16 todo.category = category.rawValue 17 todo.task = task 18 todo.state = State.todo.rawValue 19 todo.id = UUID().uuidString 20 21 do { 22 try managedObjectContext.save() 23 } catch { 24 let nserror = error as NSError 25 fatalError("Unresolved error (nserror), (nserror.userInfo)") 26 } 27 } 28 29 30 31 enum Category: Int16 { 32 case ImpUrg_1st 33 case ImpNUrg_2nd 34 case NImpNUrg_3rd 35 case NImpNUrg_4th 36 37 func toString() -> String { 38 switch self { 39 case .ImpUrg_1st: 40 return "重要かつ緊急" 41 case .ImpNUrg_2nd: 42 return "重要だが緊急ではない" 43 case .NImpNUrg_3rd: 44 return "重要でないが緊急" 45 case .NImpNUrg_4th: 46 return "重要でも緊急でもない" 47 } 48 } 49 func image() -> String { 50 switch self { 51 case .ImpUrg_1st: 52 return "flame" 53 case .ImpNUrg_2nd: 54 return "tortoise.fill" 55 case .NImpNUrg_3rd: 56 return "alarm" 57 case .NImpNUrg_4th: 58 return "tv.music.note" 59 } 60 } 61 func color() -> Color { 62 switch self { 63 case .ImpUrg_1st: 64 return .tRed 65 case .ImpNUrg_2nd: 66 return .tBlue 67 case .NImpNUrg_3rd: 68 return .tGreen 69 case .NImpNUrg_4th: 70 return .tYellow 71 } 72 } 73 } 74 75 enum State: Int16 { 76 case todo 77 case done 78 } 79} 80

swift

1//TodoList.swift 2 3import SwiftUI 4import CoreData 5 6struct TodoList: View { 7 8 @FetchRequest( 9 sortDescriptors: [NSSortDescriptor(keyPath: \TodoEntity.time, 10 ascending: true)], 11 animation: .default) 12 var todoList: FetchedResults<TodoEntity> 13 14 let category: TodoEntity.Category 15 16 var body: some View { 17 List { 18 ForEach(todoList) { todo in 19 Text(todo.task ?? "notitle") 20 } 21 } 22 } 23} 24 25struct TodoList_Previews: PreviewProvider { 26 static let context = (UIApplication.shared.delegate as! AppDelegate) 27 .persistentContainer.viewContext 28 29 static var previews: some View { 30 TodoList(category: .ImpUrg_1st) 31 .environment(.managedObjectContext, context) 32 } 33} 34

仮説

  • おそらく、TodoEntity+Extension.swiftextension TodoEntity: Identifiable{}のところでエラーが出ていると考えている。

  • Identifable{}が重複しているエラーだと思うが、他にこの記述をしている覚えがない

どなたかわかる方いらっしゃったらご教示よろしくお願いします。

環境

  • XCode(Version 12.4 (12D4e))

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

extension TodoEntity: Identifiable{}をコメントアウトをすることで、
Redundant conformance of 'TodoEntity' to protocol 'Identifiable'エラーは消えたのですが、
新しく、以下のエラーが出ました。previewが表示されなくなりました。
どなたか解決法をご教授よろしくお願いいたします、

RemoteHumanReadableError: Failed to update preview. The preview process appears to have crashed. Error encountered when sending 'previewInstances' message to agent. ```

投稿2021/05/19 14:13

編集2021/05/19 14:14
branchpeach

総合スコア12

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問