小编dsy*_*nkd的帖子

可选链接 SwiftUI 文本字段中的绑定值

我有以下模型:

struct Food: Codable, Identifiable {
    var id = UUID()
    var name: String = ""
    var energy: Float?
    var water: Float?
    var macroProfile: MacronutrientProfile?
}

struct MacronutrientProfile: Codable {
    var carb: Float?
    var protein: Float?
    var fat: Float?
}
Run Code Online (Sandbox Code Playgroud)

我试图将此模型的实例的值绑定到TextField这样的:

struct FoodEditView: View {
    @State var food: Food
    var body: some View {
        Form {
            Section(header: Text("Basics").fontWeight(.bold)) {
                HStack {
                    Text("Name")
                    Spacer()
                    TextField("Name", text: $food.name)
                    .multilineTextAlignment(.trailing)
                }
                HStack {
                    Text("Energy")
                    Spacer()
                    TextField("Calories", value: $food.energy, formatter: calorie)
                    .multilineTextAlignment(.trailing)
                    .keyboardType(.numberPad) …
Run Code Online (Sandbox Code Playgroud)

swift swiftui

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

如何限制特定触发器的验证?

有没有办法将验证器控件的验证限制为特定事件或触发器?说,我希望我的validator1仅在单击button1时激活,而validator2仅在单击button2时激活.我怎么能在asp.net中这样做?

asp.net validation events controls triggers

2
推荐指数
1
解决办法
1769
查看次数

未定义的参考/未解析的外部符号

我正在尝试使用WinSock.h头文件,但我得到以下任何一个错误:在VS2010(C++)中:

Unresolved External Symbol to [the function included in winsock.g, e.g socket()]
Run Code Online (Sandbox Code Playgroud)

在gcc命令行(C)中:

Undefined Reference to [the function included in winsock.g, e.g socket()]
Run Code Online (Sandbox Code Playgroud)

代码很简单:只包含Winsock.h头文件然后

SOCKET s =  socket (AF_INET, SOCK_STREAM, IPPROTO_TCP);
Run Code Online (Sandbox Code Playgroud)

socket()closesocket()函数有错误......!我在Stackoverflow中搜索并发现了几个主题,但他们都建议更改头文件.我无法在这里更改WinSock.h,因此我需要在使用头文件的实际代码中使用解决方案.有任何想法吗?

c winsock unresolved-external undefined-reference

0
推荐指数
1
解决办法
1333
查看次数

Inout 参数可以设置为类型不是 'CHILD' 的值,而是使用声明为类型 'PARENT' 的值

我试图在 swift 中设计一个抽象类,其中一个函数采用该类的子类的实例。但是,我想将参数的类型指定为抽象类的名称,因为我不知道将传递该类的哪个子级。示例代码:

protocol Character {
...
}
extension Character {
...
   mutating func fight(target: inout Character) {
      target.hp -= 10
   }
}
struct Warrior: Character {
...
}
struct Mage: Character {
...
}
foo = Warrior()
bar = Mage()
foo.fight(target: bar)
Run Code Online (Sandbox Code Playgroud)

在这段代码中,我得到了错误:Inout argument could be set to a value with a type other than 'Mage', use a value declared as type 'Character' instead,这意味着编译器无法识别 Mage 实现了 Character,因此是字符类型。我该如何解决这个问题?

oop swift

0
推荐指数
1
解决办法
303
查看次数