初识你---------Swift【下篇】
Swift中的结构体
Swift的结构体对比OC来说,可以添加初始化方法、可以遵守代理协议等,同时:Swift的Bool类型的变量也是一个结构体,所以只能选择true和false。
Swift中声明结构体的格式:
struct(关键字) + 结构体名字 {
结构体内部实现代码
}
上面是结构体声明的基本格式,不过结构体中可以不仅仅可以设置存储属性,还可以设置计算属性,除此之外还可以在其中声明结构体本身的属性
在Swift与OC的改变之处:
第一个变化就表现为在结构体内可以实现初始化的方法,并且在实现初始化方法的时候需要添加func标识
第二个变化就表现为在结构体中可以定义结构体的方法(函数变量)--------性质和类的方法一致【需要在前面使用static标识 在Swift中static并不表示在静态区声明一个变量【代表结构体方法】】
// 主要是用来存值的
struct Rect {
// 存储属性 :目的是用来存值的
var x : Float var y : Float var width : Float var height : Float
// 计算属性 : 专门计算存储属性的一个变量的
var centerX : Float { // 实现计算属性的get,set方法
// Swift中不能之定义setter方法,如果需要setter方法则需要实现getter方法之后在去实现setter
get{
return x + width /
} // Swift 里面set不能单独实现,必须要有get方法
set{
//newValue 新的值
centerX = newValue
}
// center是计算属性 : 里面存放一些set,get方法
// 声明实现了getset,及实例变量
} var centerY :Float { get{ return y + height/
} set{ centerY = newValue
} } // 声明一个结构体的属性
static var name : Float { get {
return
}
} // 结构体第一个变化: —— 可以实现初始化方法
// 在实现初始化方法的时候,不需要添加func标识
init(x : Float, y : Float, width : Float, height : Float)
{ self.x = x
self.y = y
self.width = width
self.height = height } // 结构体里面的函数
// 在结构体里面的函数名的前面加一个 mutating,表示可以函数里面修改结构体参数的值如果不加则在函数内部不可以修改
mutating func sayHello() { self.x = ; print("☀️初识你---------Swift【下篇】的更多相关文章
- Swift_初识Swift
初识Swift语言 Swift结合了C和OC的优点并且不受C兼容性的限制.Swift采用安全的编程模式并添加了很多新特性,这将是编程更简单,更灵活也更有趣,Swift是基于成熟而且倍受喜爱的Cocoa ...
- 初识 swift 封装轮播图
一.简介 换了一家公司.换了一个环境刚开始来公司自然不能有一丝一毫的放松,每天即使是没有什么工作也是看看这个博客.那个源码.尽量让自己更充实.慢慢的开始写几篇博客记录下自己遇到的一些问题和解决方法.其 ...
- swift初识
介绍: Swift是苹果2014年推出的全新编程语言,它继承了C语言.ObjC的特性,且克服了C语言的兼容性问题.Swift发展过程不仅保留了Objc很多语言特性,他也借鉴了多种现代化语言的特点,在其 ...
- 初识Swift中的值和引用,循坏引用、代理的注意点
1.0 在Swift中分有值类型和引用类型 Int .String . 结构体和枚举都属于值类型, 将值类型传递给方法是,将在内存中创建其副本,并传递这个副本:这样我们就可以随心所欲修改它,而不用担心 ...
- 初识 Swift编程语言(中文版)
前言 今天Apple公布了新的编程语言Swift.也提供了一本将近400页的 The Swift Programming Language(Swift编程语言). 尽管我没有开发人员账号.没法实际上机 ...
- Swift从入门到精通第八篇 - 方法 初识
方法(学习笔记) 环境Xcode 11.0 beta4 swift 5.1 方法 结构体.枚举.类都可以定义方法(实例方法.类型方法) 实例方法(Instance Methods) 实例方法只能用实例 ...
- Swift从入门到精通第十一篇 - 初始化 初识
初始化(学习笔记) 环境Xcode 11.0 beta4 swift 5.1 初始化 初始化是类.结构体.枚举生成实例的过程,为该类的每个存储属性设置初始值,有些在实例使用前的设置或初始化也可在此实现 ...
- Swift从入门到精通第十四篇 - 错误处理 初识
错误处理(学习笔记) 环境Xcode 11.0 beta4 swift 5.1 错误表现和抛出 在 swift 中,错误由符合 Error 协议的类型值表示 // 示例 enum VendingMac ...
- Swift从入门到精通第十五篇 - 类型转换 初识
类型转换(学习笔记) 环境Xcode 11.0 beta4 swift 5.1 类型转换 类型转换是检查实例类型的一种方法,或者检查来自类层级不同的父类或子类一个实例,用 is 和 as 操作符 为类 ...
随机推荐
- Vim安装jedi-vim提示的一个错误
(仅为了提醒自己) 第一次的安装方法好像是通过 bundle安装的,好像是通过这个安装的并不是最新的版本,然后删除了通过下面的方法,最重要的是要执行 git submodule update --in ...
- pdf嵌入字体
论文提交时,要求所有的字体都是嵌入的,为这个问题折腾了很久,发现了一个很好的答案,记一下: http://stackoverflow.com/questions/4231656/how-do-i-em ...
- 常用的sql语句(找不同位数,找重复)
1.SQL找不同位数 select length(aae135),count(1) from ac01 group by length(aae135) ; ————————————————————— ...
- [转]C# 文本框只能输入数字
调用TextBox的KeyPress事件 private void txtUserId_KeyPress(object sender, KeyPressEventArgs e){ //如果输入的不是数 ...
- Unity 模型导入导出
从3DMAX导出,参考: http://tieba.baidu.com/p/2807225555 -> 使用3dmax 2013,会自带导出 fbx 的功能 -> 从 3dmax 导出 - ...
- chrome 插件 vimium 像操作vim一样的操作浏览器
感谢潘德龙同学推荐的插件非常好用整理出来一些常用快捷键记下,顺便分享! x 关闭当前页 GW 跳出浏览器 J 展示左边页签 K展示右边页签 j向下滚动 k向上滚动 /搜索 ?打开帮助 r 刷新当前页 ...
- 【转载】dirs、pushd、popd指令
转载自:http://hi.baidu.com/linuxtrip/item/47a38c8eec00e98f4414cfb7 一.目录栈指令 目录栈是用户最近访问过的系统目录列表,并以堆栈的形式管理 ...
- 【转载】Linux下编辑生成.mo文件
转载自:http://www.hackbase.com/tech/2012-02-27/65972.html 编辑生成.mo文件 我们在弄网站的时候很可能会接触到.mo和.po文件..po文件是GNU ...
- 【转载】如何使用 gnome-screenshot 截图命令
转载自:http://www.linuxeden.com/html/softuse/20130726/141753.html 日常工作中,我们经常需要截取屏幕状态来给其他人看.一般情况下,我们能最直接 ...
- Hadoop入门进阶课程4--HDFS原理及操作
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,博主为石山园,博客地址为 http://www.cnblogs.com/shishanyuan ...