博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Swift笔记2
阅读量:5883 次
发布时间:2019-06-19

本文共 1778 字,大约阅读时间需要 5 分钟。

//

//  SwiftDemo.swift

//  SwifyDemo

// 

import Foundation

 

class TonySwiftModel{

 

    var numberOfDides:Int=0

    var name:String

    

    // 构造函数

    init(name:String){

        self.name=name

    }

    func PrintInfo(str:String){

        println(str+"tony")

        

        var num=0

        

        var numbers=[20,19,7,12]

        // 闭包函数

        var temp=numbers.map({

            (number:Int) -> Int in

            let result=3*number

            return result

            }

        )

        //PrintInfo(String(num))

        

        //调用其他类 属性、方法

        var shape=Shape(name: "")

        shape.numberOfSides=10

        shape.simpleDescription()

        

    }

    

    // 析构函数

//    deinit(){

//        self.name=""

//        self.numberOfDides=0

//    }

}

 

// 类

class Shape{

    var numberOfSides=0

    var nameId:String?

    // 初始化

    init(name:String)

    {

        self.nameId=name

    

    }

    

    func simpleDescription()->String{

        var doubleNum:Double=120.3

        doubleNum.getName()

        

        

        return "A shape with \(numberOfSides) sides"

    }

    //析构函数

    deinit{

        // 释放掉一些内存

    }

}

 

// 枚举

enum Rank:Int{

    case Ace=1

    case Two,Three,Four,Five,Six,Seven,Eight,Nine,Ten

    case Jack,Queen,King

    func simpleDescription()->String{

        switch self{

        case .Ace:

            return "ace"

        case .Jack:

            return "jack"

        default:

            return "Default"

        }

    }

}

 

// 接口

protocol ExampleProtocol{

    var simpleDescription:String{get}

    // nutating 可变的

    mutating func adjust()

}

 

// 实现接口

class simpleClass: ExampleProtocol {

    var simpleDescription:String="A very simple class"

    var anotherProperty:Int=10110

    func adjust() {

        simpleDescription+="Now 100% adjust"

    }

}

 

// extension 给现有类型添加功能

extension Int:ExampleProtocol{

    var simpleDescription:String{

        return "The Number \(self)"

    }

    mutating func adjust() {

        self += 42

    }

}

// double 扩展方法

extension Double{

    func getName()->String{

        return "admin"

    }

}

 

// 泛型

//class Generic{

//

//    func repeat<ItemType>(item: ItemType, times: Int) -> ItemType[] {

//    var result=ItemType[]()

//    for i in 0..times{

//    result+=item

//    }

//    return result

//

//

//}

 

转载于:https://www.cnblogs.com/pengzhaov/p/4370243.html

你可能感兴趣的文章
开发进度——4
查看>>
Akka actor tell, ask 函数的实现
查看>>
Netty 4.1.35.Final 发布,经典开源 Java 网络服务框架
查看>>
js判断checkbox是否选中
查看>>
Eclipse中修改代码格式
查看>>
GRUB Legacy
查看>>
关于 error: LINK1123: failure during conversion to COFF: file invalid or corrupt 错误的解决方案...
查看>>
Linux 进程中 Stop, Park, Freeze【转】
查看>>
文件缓存
查看>>
PHP盛宴——经常使用函数集锦
查看>>
重写 Ext.form.field 扩展功能
查看>>
Linux下的搜索查找命令的详解(locate)
查看>>
福利丨所有AI安全的讲座里,这可能是最实用的一场
查看>>
开发完第一版前端性能监控系统后的总结(无代码)
查看>>
Python多版本情况下四种快速进入交互式命令行的操作技巧
查看>>
MySQL查询优化
查看>>
【Redis源码分析】如何在Redis中查找大key
查看>>
android app启动过程(转)
查看>>
安装gulp及相关插件
查看>>
如何在Linux用chmod来修改所有子目录中的文件属性?
查看>>