swift init 初始化

class PropertiesClass1 {
    var a = "Stringa"
    init() {
        print("初始化")
    }

}

class PropertiesClass2 {
    var id  = 0
    //lazy 懒加载,只有使用的时候才触发
    lazy var properties1 = PropertiesClass1()

    //初始化必须全部初始化所有属性,或者为Options
    var name: String? 

    //geter seter
    var qq: String {
        //geter seter 里面不能使用自己属性,否则会死循环
        get {
            return self.name!
        }
        set {
            self.name = newValue
        }
    }
    //只读属性
    var height: Int {
        return 180
    }

    var address: String = "xxx" {
        willSet {
            print(" 新值\(newValue)")
        }

        didSet {
            print("旧值 \(oldValue)")
        }
    }

    var function_properties = {return "properties"}()

}

var properties2 = PropertiesClass2()

print(properties2.properties1)

properties2.qq = "65683264"
print(properties2.qq)

print(properties2.height)
// properties2.height = 2

properties2.address = "ca"

print(properties2.function_properties)
时间: 2024-11-06 18:48:42

swift init 初始化的相关文章

Swift的初始化方法

我们在深入初始化方法之前,不妨先再想想Swift中的初始化想要达到一种怎样的目的. 其实就是安全.在Objective-C中,init方法是非常不安全的:没有人能保证init只被调用一次,也没有人保证在初始化方法调用以后,实例的各个变量都完成初始化,甚至如果在初始化里使用属性进行设置的话,还可能会造成各种问题.虽然Apple也明确说明了不应该在init中使用属性来访问,但这并不是编译器强制的,因此还是会有很多开发者犯这样的错误. 所 以Swift有了超级严格的初始化方法.一方面,Swift强化了

[iOS]为什么不要在init初始化方法里调用self.view

首先.如果你调用self.view的时候,就会调用view的getter方法, 这个时候,view是空的,那么系统就会自动给你创建一个view,然后就会触发ViewDidLoad方法.那么这个时候,如果你init方法里有数组初始化.但是你还没走到那步,而直接就给数组赋值了,那么这个值赋值给了一个不存在的数组.这样就容易出现错误.所以,尽量不要在init方法里写可视化控件的语句. 附1: UIViewController的生命周期: 当一个视图控制器被创建,并在屏幕上显示的时候. 代码的执行顺序1

swift项目初始化并添加忽略文件Swift.ignore

1 先去GitHub上去把最新的忽略文件下载下载 https://github.com/github/gitignore 2 然后找到Swift.gitignore  把里面的 pod 前面的# 删除然后保存  3 去码云上新建一个项目 然后把项目克隆到本地 git clone  [email protected]:******** 把刚刚的忽略文件放在克隆下来的项目里 进去  cd 当前的项目  然后输入命令 mv Swift.gitignore  .gitinore  隐藏忽略文件 /* d

2015.12.18 property定义属性变量 init初始化自定义 class的部分运用

property 在之前的学习和运用当中,由于成员变量默认都是私有的(private),所以定义一个变量的时候都会手写出一段『getter』和『setter』的代码.但是由于这样写太麻烦了,所以引入了property(声明)和synthesize(实现).而到了后来,synthesize也被省略掉了. eg:  @property (nonatomic, strong)NSString *name; 这里,『property』帮我们完成了三个任务:1.声明了一个属性变量 2.声明了setter.

Swift - 类初始化方法

1,init():类的初始化方法(构造方法) class Student: NSObject { //类属性 var name:String = "" var age:Int = 0 //类构造函数 init(newName:String,newAge:Int){ self.name = newName self.age = newAge } //成员函数 func run() -> String { return "\(name) can run" } }

最小化安装centos的init初始化脚本

#!/bin/bash #this script is appropriate for minimize installation system centos or linux 6.x(这脚本适合最小化安装6.x版本的系统) #you have already install the os read -p "Pleases input hostname for linux:" hname sed -i "/HOSTNAME/s/localhost\.localdomain/$

web里集成kettle KettleEnvironment.init()初始化慢的问题

今天遇到一个很纠结的问题,网上找了一堆资料终于的得到解决,本着程序员奉献精神现将问题及解决方法都写出来. 如果你在eclipse下运行webapp,kettle的初始化方法会浏览/eclispe/plugins下的所有jar包.这将导致我们的程序慢的难以接受.是程序员都不能忍,这时我们只需要在运行时在 VM argument加上如下-DKETTLE_PLUGIN_BASE_FOLDERS=C:/pdi-ce-4.0.0-stable/data-integration/plugins,这个路径是你

MATLAB——神经网络init初始化函数和adapt函数

原文地址:https://www.cnblogs.com/long5683/p/10508033.html

git文件 取消init初始化

前言 常常因为git文件已有仓库管理,我们没办法将文件上传到自己的仓库里面去 这时需要将git文件的.git文件删除掉 cd 到文件目录里面 执行 rm -rf .git 即可 再执行 git remote -v 查看是否将之前仓库地址清理干净 然后指定自己的仓库地址即可 原文地址:https://www.cnblogs.com/tangda/p/12148164.html