Day 22 - SwiftUI开发实作1 (简易计算机)

首先我们创建一个新专案

在这里我们创建一个新专案,并且命名为计算机。

然後选择swiftui,如果跳出没有作者资讯,那可以先略过。

创建4个页面

这边我们创建4个页面,分别作为加、减、乘、除。

这边我不建议你使用中文命名,因为出现各种异常都有可能。

设计

主页

一样我们创建一组NavigationView。

接着使用NavigationLink去指向到plus页面。

页面

接着我们到plus页面做。我们先设定号两个变数,为加数、被加数。

接着就直接上code吧!

struct plus: View {
    @State private var p1 = ""
    @State private var p2 = ""
    @State private var sums = 0
    @State private var title: String = "0"
    var body: some View {
        VStack{
        HStack{
            TextField("p1", text: $p1)
        Text("+")
            TextField("p2", text: $p2)
            Button(action: {self.title = ac(n1: p1, n2: p2)}) {
                Text("combine")
            }
        }
            Text(self.title)
                .font(.title)
        }
    }
    func ac(n1: String , n2 : String ) -> String {
        sums = (Int(n1) ?? 0) + (Int(n2) ?? 0)
        return String(sums)
    }

}

这边我们解释一下。

我们先写两个输入框(p1、p2),接着我们在设定一个button,button直接呼叫func ac。

进到ac里之後先将String转为Int(swift 变数转型後会是 Optional 的型态,所以我们要写 ?? 0),接着我们加起来回传,回传之前转回String。

我们把title绑定之後,他就会自动更新,所以就写self.title就好。

这边要特别注意,如果你直接用xcode拉出button的话,button的action预设没有括弧,我们这边要把它改成大括弧喔,不然会出现报错的情形。

接着我们有一样的道理去做其余的程序。

接着我们将主页添加目的地到减、乘、除上面。

这样这个程序就写好了喔!


<<:  属性图模型 Property Graph Diagram

>>:  a连结标签基础方法

Day19:终於要进去新手村了-javascript-回圈-break、continue

回圈的概念是满足设定的条件後一直执行设定好的程序码,但是还是有方式可以让回圈强制跳出整个回圈或是跳出...

Transactions (5-1) - Serializability Isolation - Serial & 2PL

昨天谈到 write skew 和 phantoms ,是 2 种特别难重现的 竞争条件 (race...

Day27 简易小键盘小实作2

接续昨天 我们在按钮的action里加入这段程序码, 变数tag-1的部分就是按下1时呈现的数字是刚...

DAY 9 角角恶魔

今天想要来尝试不同画风 本来要画一只古代鱼,但是失败了......( ˘•ω•˘ ) 只好改成练习画...

mybatis 使用

上一章节讲述了 PostgreSQL 的键置和 mybatis 连线到 DB 的配置,那今天就来实际...