Swift实用小册01:常量变量、数据类型、命名方式、代码注释
【摘要】 在本章中,你将以实际案例出发,来了解Swift语言的一些基础知识点,当你对这些基础概念有所了解后,往后将更加容易读懂和设计代码。前言和Apple官网或者网上分享的教程类文章不同,我将以实际开发角度讲述Swift语言的一些概念和用法,方便大家更好地学习和掌握Swift语言。这同时也是对自己学习Swift语言过程的知识整理。如有错误,以你为准。常量、变量在iOS开发过程中,我们常常需要提前声明好...
在本章中,你将以实际案例出发,来了解Swift语言的一些基础知识点,当你对这些基础概念有所了解后,往后将更加容易读懂和设计代码。
前言
和Apple官网或者网上分享的教程类文章不同,我将以实际开发角度讲述Swift语言的一些概念和用法,方便大家更好地学习和掌握Swift语言。
这同时也是对自己学习Swift语言过程的知识整理。
如有错误,以你为准。
常量、变量
在iOS开发过程中,我们常常需要提前声明好常量和变量,方便在之后的代码中进行引用。
常见的MVVM开发模式中,我们可以创建一个Constants.swift文件,将我们在App开发中用到的常量进行声明。
以下面的代码为例:
import SwiftUI
public struct Constants {
//底部导航栏页面名称
public static let homeViewName = “首页"
public static let mineViewName = "我的"
}
在上面的例子中,我们使用let来声明homeViewName、mineViewName两个常量,它们的值分别是首页、我的。
常量表示着我们这两个参数的值是不变的,也就是homeViewName所对应的值“首页”,在App中就是固定叫做首页,而不会中途更新为别的值。
不变的是常量,而在开发过程中可能会被赋予新的值,这个叫做变量,以登录页面为例:
//是否展示提示Toast
var showToast = false
var showToastMessage = "登录成功"
我们使用var声明了showToast、showToastMessage两个变量,它们的值分别是false、登录成功。
这里我们为什么要定义变量而不是常量,是因为这两个参数的值是会随着规则而变化。
我们默认是不展示Toast,也就是showToast的值默认为false,当我们业务上将showToast重新赋值为true时,此时业务状态可能有两种:登录成功、登录失败。
那么在登录失败的情况下,showToastMessage展示的文字就不是“登录成功”了,有可能是“请输入账号”、“请输入密码”。
因此这里我们showToast、showToastMessage两个参数,我们就会使用var进行声明。
小结:使用let声明常量,常量的值基本不变,使用var声明变量,变量可以在不同业务下赋予新的值。
数据类型
在我们声明常量或者变量时,Swift是自动根据参数的值来判断类型的,示例:
//版本号
let versionNumber = “1.0.0"
虽然我们没有给versionNumber标明是什么类型,但Swift根据参数的值判断出了versionNumber是String字符串类型。
另外,我们也可以自己声明好参数的类型,把参数加上类型注解。
在MVC或者MVVM开发模式中,Model的部分,我们就需要为声明的常量/变量添加类型注解,因为它们是没有初始值的。
import SwiftUI
struct Model: Identifiable{
var number: Int
var title: String
var image: UIImage
var enableUsed: Bool
}
在上面的例子中,我们声明了4个变量:number、title、image、enableUsed,其中number是整型,title是String字符串类型,image是图片类型,enableUsed是布尔类型。
另外一个知识点是,一旦定义了参数类型后,在后面我们就不能更改它的类型,而对于常量来说,除了类型不能更改外,值也不能更改。
如果我们想声明一个指定类型的参数时,我们可以指定获得的类型。
let pointNumber = 2.1
let intNumber = Int(pointNumber)
print("\(intNumber)”)
//输出的结果为2
小结:没有声明参数类型时,Swift会自动根据参数值判断参数类型,变量、常量类型不能直接更改,常量的值也不能更改。
命名方式
在实际开发过程中,无论是声明的参数、结构体、还是页面名称,我们在命名的时候需要遵照一定的原则。
常见的命名方式为“驼峰命名法”,也就是开始单词为小写,后面组合的单词为写。示例:showToastMessage。
一般我们命名页面也好,方法也好,声明参数也罢,建议使用英文单词组合,当然Swift也支持中文、emoji,例如:
//不建议的声明方式
let 我喜欢的 = “你"
Let 😊 = ""
但实际开发中,为了统一规范,建议都还使用英文进行命名。
代码注释
代码注释一般会出现在两种业务场景,一是代码块命名,我们使用“//”进行注释,注释的部分不参与运算。
//标题&LOGO
private var loginImageView: some View {
VStack(spacing: 20) {
Image(Constants.appLogo)
.resizable()
.frame(width: 80, height: 80)
.cornerRadius(8)
Text(Constants.appName)
.font(.system(size: 17))
.foregroundColor(.black)
}
}
另一种是多行注释,使用“/*注释内容*/”,常常用在实现方法的解释,或者注释这个代码块。
/*
下面的方法是跳转到AppStore
先声明URL地址,然后带着App的appid执行跳转AppStore的逻辑
*/
func gotoAppStore(appId: String) {
let urlPrex = "itms-apps"
let appUrl = urlPrex + "://itunes.apple.com/app/id" + appId
let appNsUrl = NSURL(string: appUrl)
UIApplication.shared.open(appNsUrl! as URL, options: [:], completionHandler: nil)
}
快来动手试试吧!
如果本专栏对你有帮助,不妨点赞、评论、关注~
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)