前提:
由于IOS开发只能在MacOS上开发,所以黑苹果或者购买一台MacBook Pro是每个IOS开发者必备的技能或者工具之一
Swift开发工具一般使用MacOS提供的Xcode开发工具
首先Mac Store下载Xcode工具
安装之后打开会提醒你安装IOS的SDK,安装好之后就是这个界面了
我们创建一个项目Create New Project....
选择IOS ->App
项目名称Product Name自己谢谢,例如我们开发一个Weibo的Demo
Team是你的team,自己注册或者不选也行
Organization Identifier 写你的组织名称,这个组织名称在IOS平台上架时候,所有的这个名称是不允许重复的,当然我们自己练习就无所谓了,其他的Interface选择SwiftUI 是IOS首选的开发语言 Language现在只能选Swift了,Storage可以选也可以不选,先选上,万一用得到然后Next
进来之后他会给你一个Demo
上面主要是介绍了如何使用Swift在Swift Data里面增删查改
大体意思呢如下:
// ContentView.swift
// WeiboDemo
//
// Created by YuJun on 2024/6/29.
//
import SwiftUI
import SwiftData
//IOS中凡是看得到的东西都是View
struct ContentView: View {
//获取 IOS 的模型上下文,用于处理数据的增删查改操作
@Environment(\.modelContext) private var modelContext
//通过查询获取一个名为'items'的数组,其中元素类型为'Item'
@Query private var items: [Item]
//定义视图的主体内容
var body: some View {
NavigationSplitView {
//声明一个列表视图
List {
//对'items'数组进行遍历
ForEach(items) { item in
//创建一个导航链接
NavigationLink {
//导航链接点击后的视图,显示一个文本
Text("Item at \(item.timestamp, format: Date.FormatStyle(date:.numeric, time:.standard))")
//导航链接在列表中显示的标签
} label: {
Text(item.timestamp, format: Date.FormatStyle(date:.numeric, time:.standard))
}
}
//当左滑动时执行'deleteItems'函数
.onDelete(perform: deleteItems)
}
.toolbar {
//声明工具栏项,放置在导航栏尾部
ToolbarItem(placement:.navigationBarTrailing) {
EditButton()
}
ToolbarItem {
Button(action: addItem) {
Label("Add Item", systemImage: "plus")
}
}
}
//详情部分的视图
} detail: {
Text("Select an item")
}
}
//添加新项的函数
private func addItem() {
withAnimation {
//创建一个新的'Item'对象,并插入到模型上下文中
let newItem = Item(timestamp: Date())
modelContext.insert(newItem)
}
}
//删除项的函数,根据给定的索引集
private func deleteItems(offsets: IndexSet) {
withAnimation {
//遍历索引集,删除对应的项
for index in offsets {
modelContext.delete(items[index])
}
}
}
}
//自动预览页的设置
#Preview {
ContentView()
.modelContainer(for: Item.self, inMemory: true)
}
如果你没有选SwiftData
那么你得到的文件应该大体是这样的
import SwiftUI
//IOS中凡是看得到的东西都是View
struct ContentView: View {
//里面看得见的东西
var body: some View {
//显示Hellow Swift
Text("Hellow Swift")
}
}
//自动预览页
#Preview {
ContentView()
}
至此一个项目创建完毕
关注公众号:资小库,问题快速答疑解惑