小工具      在线工具  汉语词典  css  js  c++  java

Swift 3.0 类构造函数

Swift学习 额外说明

收录于:42天前

/*
 //类的构造函数
  使用KVC条件
  1> 必须继承自NSObject
  2> 必须在构造函数中,先调用super.init(0
  3> 调用setValueForKeys
  4> 如果字典中某一个key没有对应的属性,则需要重写setValueForKeys方法
 */

class LJPerson : NSObject{
    var name : String = ""
    var age : Int = 0
    var height : Double = 0
    
    init(name:String, age:Int) {
        self.name = name
        self.age = age
    }
    
    //重写init方法
    init(dict : [String : Any]) {
        /*
         一般写法,假如此处有多个变量的话,要写好长好长的
        if let name = dict["name"] as? String {
            self.name = name
        }
        
        if let age = dict["age"] as? Int
        {
            self.age = age
        }
        
        if let height = dict["height"] as? Double
        {
            self.height = height
        }*/
        
        super.init()
        setValuesForKeys(dict)
    }
    
    //倘若不重写init方法的话,就不会出来init()
    override init() {
    }
    
    //重写这个方法,没有定义的key在里面也不会引起奔溃,如下面的key="phonum"
    override func setValue(_ value: Any?, forUndefinedKey key: String) {
    }
}

let pw = LJPerson()
let pfg = LJPerson(name: "sww", age: 18)
let ps = LJPerson(dict: ["name":"swgt","age":18,"height":1.09,"phonum":"139"])

print(ps.name,ps.age)


. . .

相关推荐

额外说明

Java ——String、StringBuffer和StringBuilder的区别

QQ 1274510382 Wechat JNZ_aming 商业互捧 QQ群538250800 技术搞事 QQ群599020441 技术合作 QQ群152889761 加入我们 QQ群649347320 纪年科技aming 网络安全 ,深度学习,嵌入式

额外说明

HTTP的长连接和短连接

本文总结&分享网络编程中涉及的长连接、短连接概念。    关键字:Keep-Alive,并发连接数限制,TCP,HTTP 1、什么是长连接        HTTP1.1规定了默认保持长连接(HTTP persistent connection ,也有翻译

额外说明

使用python进行编译:1、有一个长为n的数组A,求满足0≤a≤b<n的A[b]-A[a]的最大值 2、求两数之和

有一个长为n的数组A,求满足0≤a≤b<n的A[b]-A[a]的最大值。 给定数组A及它的大小n,请返回最大差值。 测试样例: [10,5],2 返回:0 class LongestDistance: def getDis(self, A):

额外说明

Gradio的web界面演示与交互机器学习模型,安装和使用《1》

如何快速地将机器学习模型,给创建和分享出去,让更多的人来体验? Gradio就是一种快速搭建web界面来演示机器学习模型的方式,任何人都可以在任何地方使用它。 官网地址:https://gradio.app/ 1、安装Gradio 前提条件:Gradio

额外说明

Python学习之路02 之分支结构

-前言 在我们的日常生活中,我们常常会根据不同的条件来做出不同的决定。类似的,程序设计也需要这样的结构来根据不同的条件执行不同的代码块。Python 提供了一系列的工具和结构来实现这一点,从而允许程序具有更丰富的功能和灵活性。在这个教程中,我们将深入探讨

额外说明

有关客户端浏览器缓存的HTTP头介绍

让浏览器做缓存需要给浏览器发送指定的Http头,告诉浏览器缓存多长时间,或者坚决不要缓存。作为.net的程序员,其实我们一直都在用这种方法,在OutputCache指令中指定缓存的Location为Client时,其实就是给浏览器发送了一个Http头,告

额外说明

Windows中缺少mfc140.dll文件解决方法

其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或者损坏了,这时你只需下载这个mfc140.dll文件进行安装(前提是找到适合的版本),当我

额外说明

wordpress上传限制_如何仅在WordPress中将上传限制为指定的文件类型

wordpress上传限制 Few days ago while working on a client’s site, we were asked to code a function that restrict uploads to specifie

额外说明

如何正确更改您的WordPress用户名(分步操作)

您是否曾尝试更改 WordPress 用户名,却发现无法更改?如果您是,那么这篇文章适合您。在本文中,我们将向您展示三种不同的方法来更改 WordPress 用户名。 您是否曾尝试更改 WordPress 用户名,却发现无法更改?如果您这样做,那么这篇文

ads via 小工具