// 类
class Person{

    // 属性
    var name:String = "张三"


}

// 结构体
struct Point{
    var x = 0
    var y = 0


}

// 类和结构体-->swift 中叫做类型
// 对象和结构体对象--> 实例

结构体,是值类型(不改变原来对象的值),类是引用类型(改变原对象的值),可以对比下前后值的变化

let person = Person()
var point = Point()
print(point)

var  p2 = point
p2.x = 100
p2.y = 100
print(p2)
print(point)

var person2 = person
person2.name = "zhangsan"
print(person2.name)
print(person.name)

结构体重的逐一构造器

// 默认添加的

struct Point2 {
    var x = 0
    var y = 0

    // 重写 init 方法
    init(x:Int,y:Int){
        self.x = x
        self.y = y
    }

}

var piont2 = Point(x: 2,y: 3)
print(piont2)

// 如果不想用默认的就在结构体中重写 init 方法,一旦重写,上面的p2 的默认的初始化的方法就不好使了
var point3 = Point2(x: 55,y: 77)
print(point3.x,point3.y)

swift 学习笔记(21)-类和结构体的更多相关文章

  1. 寒城攻略:Listo 教你 25 天学会 Swift 语言 - 13 Methods

    方法还可以给它隐含的self属性赋值一个全新的实例,这个新实例在方法结束后将替换原来的实例structPoint1{0.0,y=mutatingfuncmoveByX{x+=deltaXy+=deltaY}}varsomePoint1=Point1">1.0)注意定义结构体实例时必须为变量不能为常量somePoint1moveByX2.03.0)")//在变异方法中给self赋值structPoint2{Double){self=Point2}}varsomePoint2=Point2(x:somePoi

  2. 【Swift初见】Swift结构体

    访问rect这个实例里面的width和height方法也是用点语法:这样我们就完成了一个结构体的定义和创建一个结构体实例。结构体的成员方法:与C还有OC结构体不一样的是,swift的结构体可以包含成员方法,即行为,这就跟面向对象中的类的概念比较类似:我们给刚刚Rect结构体加上一个面积的方法:我们可以看出,方法的定义跟外部全局函数的定义是一样的,那么如何使用该成员方法呢?

  3. Swift学习小结之对象和类

  4. 寒城攻略:Listo 教你 25 天学会 Swift 语言 - 21 Nested Types

    //***********************************************************************************************//1.nestedTypes(类型嵌套)//________________________________________________________________________________

  5. Swift语法基础:5 - Swift的枚举和结构体

    在Siwft中的枚举类型以及结构体,是和OC中差不多的,但Swift中又有一些特性,下面让我们来看看:1.枚举的声明及使用PS:这里解释一下,枚举类型第一个开始的参数都是1,无论你是有多少case,都会递增的,比如例子的的Ace是1,那么Two就是名副其实的2,Three就是3,以此类推,一直到King,就是13,而enum里面有一个方法,这里面这个方法只是说可以在enum里定义方法,但我这个例子

  6. Swift语法基础:6 - Swift的Protocol和Extensions

    前面我们知道了枚举类型和结构体的声明,嵌套,以及基本的使用,现在让我们来看看Swift中的另外两个,一个是Protocol(协议),一个是Extensions(类别):1.声明ProtocolPS:在声明协议的时候,如果你要修改某个方法属性,你必须的在该方法前加上mutating这个关键字,否则不能修改.2.使用Protocol同样的,在结构体里一样可以使用,但是必须的加上mutating:Protocol也可以这么使用:PS:这里的a是前面例子里面的a.3.声明Extensions好了,这次我们就讲到这

  7. Swift面向对象的类型

    1、类2、结构体3、枚举在swift语言中通过类和结构体实现面向对象,在Swift语言中,枚举也具有面向对象的特性示例和对象在面向对象中,将类创建对象的过程称为实例化,因此将对象称为实例化,但是在swift中,枚举和结构体不能称为对象,因为结构体和枚举并不是彻底的面向对象类型,而是只包含了一些面向对象的特定,例如,在Swift中继承只发生在类上,结构体和枚举不能继承

  8. Swift基础语法: 25 - Swift的类和结构体

    2.有理由预计一个结构体实例在赋值或传递时,封装的数据将会被拷贝而不是被引用。

  9. Swift编程高级教程 变量与常量

    提示实际应用中很少需要指定变量数据类型,Swift会根据所设置的值的类型进行推导。Swift使用字符串插值来输出变量和常量。Swift中并没有所谓的实例变量,而是将它们统一为属性了,这样使得属性的声明更加简化。Size封装了宽度和高度。而let只能用于常量的声明,表示它们的值不能发生改变。但是在Swift中可以直接将它们定义为类型的一部分。

  10. Swift中结构体(Struct)和类(Class)的区别

    今天這個篇文章要來介紹Swift中struct和class有什麼不一樣的地方?不过要提醒大家在Swift常用的String,Array,Dictionary都是struct所以let是会有效果的4.mutatingfunction我們先要為struct和class新增一個method名為changeWidth()而且我們在不改变原始的程式碼為前提下,新增一個method。如下structSRectangle{varwidth=200}extensionSRectangle{mutatingfuncchan

随机推荐

  1. Swift UITextField,UITextView,UISegmentedControl,UISwitch

    下面我们通过一个demo来简单的实现下这些控件的功能.首先,我们拖将这几个控件拖到storyboard,并关联上相应的属性和动作.如图:关联上属性和动作后,看看实现的代码:

  2. swift UISlider,UIStepper

    我们用两个label来显示slider和stepper的值.再用张图片来显示改变stepper值的效果.首先,这三个控件需要全局变量声明如下然后,我们对所有的控件做个简单的布局:最后,当slider的值改变时,我们用一个label来显示值的变化,同样,用另一个label来显示stepper值的变化,并改变图片的大小:实现效果如下:

  3. preferredFontForTextStyle字体设置之更改

    即:

  4. Swift没有异常处理,遇到功能性错误怎么办?

    本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请发送邮件至dio@foxmail.com举报,一经查实,本站将立刻删除。

  5. 字典实战和UIKit初探

    ios中数组和字典的应用Applicationschedule类别子项类别名称优先级数据包contactsentertainment接触UIKit学习用Swift调用CocoaTouchimportUIKitletcolors=[]varbackView=UIView(frame:CGRectMake(0.0,0.0,320.0,CGFloat(colors.count*50)))backView

  6. swift语言IOS8开发战记21 Core Data2

    上一话中我们简单地介绍了一些coredata的基本知识,这一话我们通过编程来实现coredata的使用。还记得我们在coredata中定义的那个Model么,上面这段代码会加载这个Model。定义完方法之后,我们对coredata的准备都已经完成了。最后强调一点,coredata并不是数据库,它只是一个框架,协助我们进行数据库操作,它并不关心我们把数据存到哪里。

  7. swift语言IOS8开发战记22 Core Data3

    上一话我们定义了与coredata有关的变量和方法,做足了准备工作,这一话我们来试试能不能成功。首先打开上一话中生成的Info类,在其中引用头文件的地方添加一个@objc,不然后面会报错,我也不知道为什么。

  8. swift实战小程序1天气预报

    在有一定swift基础的情况下,让我们来做一些小程序练练手,今天来试试做一个简单地天气预报。然后在btnpressed方法中依旧增加loadWeather方法.在loadWeather方法中加上信息的显示语句:运行一下看看效果,如图:虽然显示出来了,但是我们的text是可编辑状态的,在storyboard中勾选Editable,再次运行:大功告成,而且现在每次单击按钮,就会重新请求天气情况,大家也来试试吧。

  9. 【iOS学习01】swift ? and !  的学习

    如果不初始化就会报错。

  10. swift语言IOS8开发战记23 Core Data4

    接着我们需要把我们的Rest类变成一个被coredata管理的类,点开Rest类,作如下修改:关键字@NSManaged的作用是与实体中对应的属性通信,BinaryData对应的类型是NSData,CoreData没有布尔属性,只能用0和1来区分。进行如下操作,输入类名:建立好之后因为我们之前写的代码有些地方并不适用于coredata,所以编译器会报错,现在来一一解决。

返回
顶部