我正在使用Xcode 11 beta 5,我所拥有的不再起作用。这是我的代码:
struct ModeView : View {
@EnvironmentObject var state: IntentionState
var body: some View {
Picker(selection: $state.selection, label: Text("")) {
ForEach(state.modes.identified(by: \.self)) { mode in
Text(mode)
}
}.pickerStyle(SegmentedPickerStyle())
}
}
错误在ForEach(uistate.modes.identified(by: \.self)) { mode in
行中,提示:
“ [String]”类型的值没有“已标识”成员
当我使用Xcode 11 beta 4时,它运行良好。现在的问题是如何在Xcode beta 5中将ForEach与数组字符串一起使用
答案 0 :(得分:4)
ForEach
的语法在Beta 5中有所改变。
您尝试过吗:
ForEach(state.modes, id: \.self) { mode in
Text(mode)
}
答案 1 :(得分:1)
根据Apple发行说明,从一开始它就是已知问题。我们必须等待另一个版本。
答案 2 :(得分:1)
不推荐使用fabric.Image.fromURL('http://i.imgur.com/8rmMZI3.jpg', function(oImg) {
oImg.selectable = false;
oImg.id = 'image';
canvas.add(oImg);
});
canvas.on('mouse:wheel', function(opt) {
var delta = opt.e.deltaY;
var pointer = canvas.getPointer(opt.e);
var zoom = canvas.getZoom();
zoom = zoom + delta/200;
if (zoom > 20) zoom = 20;
if (zoom < 0.01) zoom = 0.01;
canvas.zoomToPoint({ x: opt.e.offsetX, y: opt.e.offsetY }, zoom);
opt.e.preventDefault();
opt.e.stopPropagation();
});
方法,现在正确的语法为:
identified(by:)
或将内容移至闭包后:
init(Data, id: KeyPath<Data.Element, ID>, content: (Data.Element) -> Content)
答案 3 :(得分:0)
假设您有一个这样的名称数组
让名字= [“麦克”,“杰克”,“吉尔”]
ForEach(名称,id:.self){文本($ 0)}
Text($ 0)-这将打印名称数组中的所有元素。
note **使用backslashsign.self代替.self,反斜杠符号在这里不起作用。
这有效。谢谢。