質問編集履歴
8
修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -129,7 +129,7 @@
|
|
129
129
|
NavigationLink {
|
130
130
|
AnotherAnotherView(item: Item)
|
131
131
|
} label: {
|
132
|
-
|
132
|
+
Text(item.text ?? "")
|
133
133
|
}
|
134
134
|
|
135
135
|
で遷移するのですが、何がちがうのでしょうか
|
7
追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -77,3 +77,62 @@
|
|
77
77
|
|
78
78
|
Xcode14.1
|
79
79
|
|
80
|
+
### 追記
|
81
|
+
|
82
|
+
新しく立てようと思いましたが、
|
83
|
+
|
84
|
+
わかりやすいようにここにしました。
|
85
|
+
|
86
|
+
ToolbarItem {
|
87
|
+
NavigationLink {
|
88
|
+
AnotherAnotherView(item: Item)
|
89
|
+
} label: {
|
90
|
+
Image(systemName: "heart")
|
91
|
+
}
|
92
|
+
}
|
93
|
+
|
94
|
+
---
|
95
|
+
|
96
|
+
struct AnotherAnotherView: View {
|
97
|
+
|
98
|
+
@Environment(\.managedObjectContext) private var viewContext
|
99
|
+
@State var textEditorText = ""
|
100
|
+
var item: Item
|
101
|
+
|
102
|
+
var body: some View {
|
103
|
+
TextEditor(text: $textEditorText).frame(width: .infinity, height: .infinity)
|
104
|
+
|
105
|
+
.toolbar { ToolbarItem(placement: .navigationBarLeading){ Button(action: {additem()}) {Image(systemName: "heart")}} }
|
106
|
+
}
|
107
|
+
|
108
|
+
func additem () {
|
109
|
+
withAnimation {
|
110
|
+
item.text = textEditorText
|
111
|
+
|
112
|
+
do {
|
113
|
+
try viewContext.save()
|
114
|
+
} catch {
|
115
|
+
let nsError = error as NSError
|
116
|
+
fatalError("Unresolved error \(nsError), \(nsError.userInfo)")
|
117
|
+
}
|
118
|
+
}
|
119
|
+
}}
|
120
|
+
|
121
|
+
とすると、
|
122
|
+
|
123
|
+
Cannot convert value of type 'Item.Type' to expected argument type 'Item'
|
124
|
+
|
125
|
+
のエラーが出てしまいます。
|
126
|
+
|
127
|
+
ListのNavigationLinkでは
|
128
|
+
|
129
|
+
NavigationLink {
|
130
|
+
AnotherAnotherView(item: Item)
|
131
|
+
} label: {
|
132
|
+
Image(systemName: "heart")
|
133
|
+
}
|
134
|
+
|
135
|
+
で遷移するのですが、何がちがうのでしょうか
|
136
|
+
|
137
|
+
itemとItemの大文字 小文字がみづらくて、すみません
|
138
|
+
|
6
修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
### 前提
|
6
6
|
|
7
|
-
EntityでtextsをBinary Dataで設定、textを Stringで設定しています。
|
7
|
+
EntityでtextsをBinary Dataで設定、textを Stringで設定しています。
|
8
8
|
|
9
9
|
### 発生している問題・エラーメッセージ
|
10
10
|
|
@@ -35,16 +35,6 @@
|
|
35
35
|
}
|
36
36
|
}
|
37
37
|
.onDelete(perform: deleteItems)
|
38
|
-
}
|
39
|
-
.toolbar {
|
40
|
-
#if os(iOS)
|
41
|
-
ToolbarItem(placement: .navigationBarTrailing) {
|
42
|
-
EditButton()
|
43
|
-
}
|
44
|
-
#endif
|
45
|
-
ToolbarItem {
|
46
|
-
Button(action: addItem) {
|
47
|
-
Label("Add Item", systemImage: "plus")
|
48
38
|
}
|
49
39
|
}
|
50
40
|
}
|
5
訂正
test
CHANGED
File without changes
|
test
CHANGED
@@ -29,7 +29,7 @@
|
|
29
29
|
List {
|
30
30
|
ForEach(items) { item in
|
31
31
|
NavigationLink {
|
32
|
-
|
32
|
+
AnotherView(textEditorText: Text(item.texts[index])
|
33
33
|
} label: {
|
34
34
|
Text(item.text ?? "")
|
35
35
|
}
|
4
訂正
test
CHANGED
File without changes
|
test
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
### 前提
|
6
6
|
|
7
|
-
EntityでtextsをBinary Dataで設定、textを Stringで設定しています。
|
7
|
+
EntityでtextsをBinary Dataで設定、textを Stringで設定しています。textはString型として設定しています。
|
8
8
|
|
9
9
|
### 発生している問題・エラーメッセージ
|
10
10
|
|
@@ -15,11 +15,43 @@
|
|
15
15
|
### 該当のソースコード
|
16
16
|
|
17
17
|
```SwiftUI
|
18
|
+
|
19
|
+
struct ContentView: View {
|
20
|
+
@Environment(\.managedObjectContext) private var viewContext
|
21
|
+
|
22
|
+
@FetchRequest(
|
23
|
+
sortDescriptors: [NSSortDescriptor(keyPath: \Item.timestamp, ascending: true)],
|
24
|
+
animation: .default)
|
25
|
+
private var items: FetchedResults<Item>
|
26
|
+
|
27
|
+
var body: some View {
|
28
|
+
NavigationView {
|
29
|
+
List {
|
30
|
+
ForEach(items) { item in
|
18
|
-
NavigationLink {
|
31
|
+
NavigationLink {
|
19
|
-
|
32
|
+
Text("Item at \(item.timestamp!, formatter: itemFormatter)")
|
20
33
|
} label: {
|
21
34
|
Text(item.text ?? "")
|
22
35
|
}
|
36
|
+
}
|
37
|
+
.onDelete(perform: deleteItems)
|
38
|
+
}
|
39
|
+
.toolbar {
|
40
|
+
#if os(iOS)
|
41
|
+
ToolbarItem(placement: .navigationBarTrailing) {
|
42
|
+
EditButton()
|
43
|
+
}
|
44
|
+
#endif
|
45
|
+
ToolbarItem {
|
46
|
+
Button(action: addItem) {
|
47
|
+
Label("Add Item", systemImage: "plus")
|
48
|
+
}
|
49
|
+
}
|
50
|
+
}
|
51
|
+
Text("Select an item")
|
52
|
+
}
|
53
|
+
}
|
54
|
+
}
|
23
55
|
|
24
56
|
-
|
25
57
|
|
3
訂正
test
CHANGED
File without changes
|
test
CHANGED
@@ -20,6 +20,30 @@
|
|
20
20
|
} label: {
|
21
21
|
Text(item.text ?? "")
|
22
22
|
}
|
23
|
+
|
24
|
+
-
|
25
|
+
|
26
|
+
struct AnotherView: View {
|
27
|
+
@State var textEditorText = ""
|
28
|
+
var body: some View {
|
29
|
+
TextEditor(text: $textEditorText).frame(width: .infinity, height: .infinity)
|
30
|
+
.toolbar { ToolbarItem(placement: .bottomBar){ Button(action: {additem()}) {Image(systemName: "heart")}} }
|
31
|
+
}}
|
32
|
+
|
33
|
+
func additem () {
|
34
|
+
withAnimation {
|
35
|
+
let newItem = Item(context: viewContext)
|
36
|
+
Item.texts.append(textEditorText)
|
37
|
+
|
38
|
+
do {
|
39
|
+
try viewContext.save()
|
40
|
+
} catch {
|
41
|
+
let nsError = error as NSError
|
42
|
+
fatalError("Unresolved error \(nsError), \(nsError.userInfo)")
|
43
|
+
}
|
44
|
+
}
|
45
|
+
}}
|
46
|
+
|
23
47
|
```
|
24
48
|
|
25
49
|
### 試したこと
|
2
訂正
test
CHANGED
File without changes
|
test
CHANGED
@@ -16,7 +16,7 @@
|
|
16
16
|
|
17
17
|
```SwiftUI
|
18
18
|
NavigationLink {
|
19
|
-
AnotherView(textEditorText: Text(items.
|
19
|
+
AnotherView(textEditorText: Text(items.texts[index]))
|
20
20
|
} label: {
|
21
21
|
Text(item.text ?? "")
|
22
22
|
}
|
1
訂正
test
CHANGED
File without changes
|
test
CHANGED
@@ -9,7 +9,7 @@
|
|
9
9
|
### 発生している問題・エラーメッセージ
|
10
10
|
|
11
11
|
```
|
12
|
-
|
12
|
+
Referencing subscript 'subscript(dynamicMember:)' requires wrapper 'Binding<FetchRequest<Item>.Configuration>'
|
13
13
|
```
|
14
14
|
|
15
15
|
### 該当のソースコード
|