swift扩展Extension_011-swift延展基本使用

//: Playground - noun: a place where people can play

import UIKit

//----扩展Extension---------//
//作用:给已有的类、结构体、枚举扩展新的功能(方法和属性)
//Swift中的扩展没有名字 

//1.扩展属性:只能添加计算属性,不能添加存储属性
extension UIView {

    //var isSuperView = false

    var height : CGFloat {

          get {

            return self.frame.size.height

         }
        set {

            self.frame.size.height = newValue

        }

    }

}

var myView = UIView.init(frame: CGRectMake(100, 100, 100, 100))
myView.height = 200
print(myView.height)

//2.扩展方法

extension String {

    //字符串子串的截取
    func subStringFromStartIndexAndEndIndex(start : Int, end : Int) -> String {

        var count = 0
        var result = ""

        for char in self.characters {

            if count >= start {
                result += "\(char)"
            }

            if count >= end {
                break
            }

            count++

        }

        return result

    }

    //Bool转化为String
    static func stringWithBool(value : Bool) -> String {

        return "\(value)"
    }

}

var str = "Hello 88"
str.subStringFromStartIndexAndEndIndex(0, end: 4)
String.stringWithBool(true)
时间: 2024-08-04 14:47:55

swift扩展Extension_011-swift延展基本使用的相关文章

Swift学习——A Swift Tour 协议和扩展

Protocols and Extensions Protocols  协议的使用 使用关键字 protocol 定义一个协议 protocol ExampleProtocol { var simpleDescription: String { get } mutating func adjust() } 类,枚举和结构体都可以实现协议 class SimpleClass: ExampleProtocol { var simpleDescription: String = "A very sim

iOS: 学习笔记, swift扩展

// // YYExtension.swift // // Created by yao_yu on 14-7-18. // Copyright (c) 2014年 yao_yu. All rights reserved. // import Foundation extension String{ func strip() -> String{ return stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineC

iOS开发——完整项目实战Swift篇&百思不得姐Swift版总结(二)

百思不得姐Swift版总结(二) tabBar和NavBar配色方案 一.常规主题色使用点 应用在发布前都会对其主题色进行设置,以统一应用的风格(可能有多套主题).在主题色设置上有几个方面,如下: 1.TabBar部分,设置图片高亮.文本高度颜色 2.NavigationBar部分,设置导航栏颜色及字体颜色 3.应用标签等,设置字体的颜色 4.应用图片主题色 主题色的设置点,大体从上面四个方面着手,图片的主题色我们可通过图片更换的方式进行处理.而通过代码来处理的1-3条,有着不同的处理方法.大家

Swift学习——A Swift Tour 枚举和结构体

Enumerations and Structures Enumerations   枚举的使用 使用 enum 定义一个枚举,枚举里面可以关联方法,比如下文中的描述方法 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 { ca

Welcome to Swift (苹果官方Swift文档初译与注解十)---63~69页(第二章)

如果你将整型与浮点型一起使用,结果将被认为是Double类型: et anotherPi = 3 + 0.14159 // anotherPi 的类型是Double 上述代码中,3的值是没有明确说明类型,因此,根据剩余部分的浮点类型可以确定返回值为Double. Numeric Literals (数值的进制表示) 整数类型可以进行如下表示: A decimal number, with no prefix         // 十进制数值,不需要前缀符号; A binary number, w

Swift 概述及Swift运算符和表达式

Swift  是用于设计 iOS 及 Mac OS X 应用的一门新 语言. Swift 特点 ?   Swift  保留了 C  与 Objective-C 的优点,并摒弃 其为了兼容 C  语言所受的限制. ?    Swift吸纳了安全编程模式,并新增了一些现代 化功能,使其更易使用.更为灵活.更具乐趣. ?     Swift 的 简 洁 风 格 与 广 受 欢 迎 的 成 熟 框 架Cocoa / Cocoa Touch 相结合,将为重新构思软件的开 发过程带来新机遇. ?   Swi

Welcome to Swift (苹果官方Swift文档初译与注解三十三)---235~240页(第五章-- 函数)

Default Parameter Values (参数默认值) 在定义函数的时候,你可以给任何参数定义一个默认的值,如果定义了默认值,在调用这个函数的时候,你可以忽略这个参数. 注意: 设置参数默认值的时候,需要按照函数的参数列表最后的开始,这可以确保在调用函数的时候,即使没默认值的参数也可以按顺序的对应上,也使得函数在调用的时候更加清晰. 下面的代码例子是join函数的新版本,它使用了默认参数: func join(string s1: String, toString s2: String

swift.org - About Swift 官网关于notes

About Swifthtml, body {overflow-x: initial !important;}html { font-size: 14px; } body { margin: 0px; padding: 0px; height: auto; bottom: 0px; top: 0px; left: 0px; right: 0px; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 1re

Welcome to Swift (苹果官方Swift文档初译与注解二十)---133~139页(第二章..本节完)

Unicode (Unicode码) Unicode是一种国际标准的文本编码.它的标准表中几乎包含所有语言的任意字符,并且可以通过扩展文件或者网页读写这些字符. 在Swift中,String(字符串)类型和Character(字符)类型完全兼容Unicode,而且它们也支持非Unicode码. Unicode Terminology (Unicode 术语) 每个Unicode码都可以用一个或者多个Unicode标量表示.对于一个字符来说,一个Unicode标量都是一个唯一的21位的值(或名称)

Welcome to Swift (苹果官方Swift文档初译与注解二十六)---181~188页(第四章-- 流程控制)

Do-While  while循环的另一个版本是do-while循环,它在判断条件之前,先执行一遍循环体,然后再次执行循环体,直到条件成为false. do-while循环的通过格式: do {   statements } while condition 我们再用蛇和梯子的例子,使用do-while循环代替while循环.其中 finalSquare, board, square, 和 diceRoll 的初始化与while循环是一样的: let finalSquare = 25 var bo