注:本文为自己学习The Swift Programming Language的笔记,其中的例子为引用原书和其他博文或自己原创的。每个例子都会批注一些实践过程中的经验或思考总结。1.基础Swift属性描述特定的类、结构体和枚举的值。属性分为存储属性和计算属性:存储属性以一个实例的形式储存变量或常量的值;计算属性可以计算相关属性的值而不是存储它。类、结构体和枚举可以有计算属性,但是只有类和结构体有
下标下标可以定义在类、结构体和枚举中,是访问集合,列表或序列中元素的快捷方式。可以使用下标的索引,设置和获取值,而不需要再调用对应的存取方法。举例来说,用下标访问一个Array实例中的元素可以写作someArray[index],访问Dictionary实例中的元素可以写作someDictionary[key]。一个类型可以定义多个下标,通过不同索引类型进行重载。下标不限于一维,你可以定义具有多个
属性属性将值与特定的类、结构体或枚举相关联,分为存储型属性和计算型属性。存储型属性将常量和变量值存储为实例的一部分,计算型属性存储值。计算型属性可由类、结构体和枚举提供,存储型属性仅由类和结构体提供。可以定义属性观察器来监听值的更改,也可以自定义操作响应。属性观察器可以添加到存储型属性中,也可以添加到子类从其超类继承的属性。存储型属性存储型属性是作为特定类或结构的实例的一部分存储的常量或变量。可以
swift中,属性主要分为以下几种存储属性计算属性延迟存储属性类型属性存储属性存储属性,又分两种:要么是常量存储属性,即let修饰要么是变量存储属性,即var修饰定义如下代码class CJLTeacher{ var age: Int = 18 var name: String = "CJL" } let t = CJLTeacher()其中代码中的age、name来说,都是变
转载 2024-01-04 13:48:59
90阅读
属性分为存储属性与计算属性,存储属性可以有默认值,计算属性则根据已有信息返回某种计算结果。类,结构体,枚举都可以有属性基本存储属性不使用代码获取值的属性都是基本存储属性,包括读写属性(var 声明)以及只读属性(let声明)嵌套类型和嵌套函数一样,类型也可以嵌套class Person{ //身高 var height=170 //嵌套类型 enum Co
转载 2023-08-29 21:10:10
76阅读
虽然 Objective-C 的语法相对于其他编程语言来说写法有点奇怪,但是当你真正使用的时候它的语法还是相当的简单。下面有一些例子:+ (void)mySimpleMethod { // 类方法 // 无参数 // 无返回值 } - (NSString *)myMethodNameWithParameter1:(NSString *)param1 parameter2
Swift 属性将值跟特定的类、结构或枚举关联。属性可分为存储属性和计算属性:存储属性计算属性存储常量或变量作为实例的一部分计算(而不是存储)一个值用于类和结构体用于类、结构体和枚举存储属性和计算属性通常用于特定类型的实例。属性也可以直接用于类型本身,这种属性称为类型属性。另外,还可以定义属性观察器来监控属性值的变化,以此来触发一个自定义的操作。属性观察器可以添加到自己写的存储属性上,也可以添加到
转载 2023-10-04 17:53:45
85阅读
类型和引用类型中可以通过外部访问的成员(除了方法外)都叫做属性swift中到底存在多少种属性?1.存储属性类和结构体的成员变量或者成员常量都属于存储属性。struct FixedLengthRange{ var firstValue:Int let length: Int } //创建结构体对象,并初始化结构体中属性 var rangeOfThreeItems = FixedLengthRa
转载 2023-10-21 07:57:29
117阅读
类型转换是一种检查实例类型并且/或者检查是否可以将这个实例作为它类层次结构中的某个不同的父类或者子类的方式。类型转换在Swift中使用is 和 as操作符实现。这两个操作符提供了一种简单达意的方式去检查值的类型或者转换它的类型。你也可以用类型转换来检查一个类是否实现了某个协议,详细内容请查阅协议实现的检查这一章节 。一、定义一个类层次来作类型转换你可以将它用在类和子类的层次结构上,检查特
转载 2023-08-12 17:02:14
71阅读
mark,防忘1.概述计算属性可以由类、结构体和枚举定义。存储属性只能由类和结构体定义。2. 关于属性的修改由于结构体是值类型。当一个值类型的实例被标记为常量时,该实例的其他属性也均为常量。 因此,如果你创建了一个结构体的实例并且把这个实例赋给常量,你不能修改这个实例的属性,即使是声明为变量的属性。 对于类来说则不同,它是引用类型。如果你给一个常量赋值引用类型实例,你仍然可以修改那个实例的变量属性
转载 2023-08-11 15:01:32
142阅读
// // PropertyClass.swift // swift属性 // // Created by wsy on 15/8/25. // Copyright (c) 2015年 WSY. All rights reserved. // import UIKit class PropertyClass: NSObject { /** * 属性是描述特定类、结构或
在不加特定修饰符的情况下,在swift类型中定义的属性,方法都是属于实例的。可以使用static来声明枚举和结构体的类型属性/方法使用class来声明类的类型属性/方法swift类型成员和实例成员的区分泾渭分明:通常来说,类型成员不允许访问实例成员,实例成员也不允许访问类型成员 /* 枚举可以包含类型存储属性类型计算属性, 枚举可以包含实例计算属性,不能包含实例存储属性 */ //
转载 2023-05-24 10:45:01
105阅读
属性 1 存储属性 2 计算属性 3 属性观察器 4 全局变量和局部变量 5 类型属性(1)属性将值跟特定的类、结构或枚举关联。存储属性存储常量或变量作为实例的一部分,而计算属性计算(不是存储)一个值。计算属性可以用于类、结构体和枚举,存储属性只能用于类和结构体。 (2)存储属性和计算属性通常与特定类型的实例关联。但是,属性也可以直接作用于类型本身,这种属性称为类型属性。 (3)另外,还可以定义属
// // PropertyMethod.swift // SwiftCode // // Created by Alisa on 2022/4/6. // Copyright © 2022 Alisa. All rights reserved. // import Foundation import UIKit /* **属性 属性:定义在类、结构体或者枚举中的量值
Swift编程中,当我们需要动态地获取对象的属性时,通常会涉及到“hook”的概念。这种技术在调试、监控和增强功能方面都极其有用。本文将深入探讨在Swift中如何实现hook机制以获取对象属性,包括场景分析、性能指标、功能特性、实战对比、算法实现及生态扩展等内容。 ## 背景定位 在开发复杂的应用时,动态生成、修改或获取对象属性是常见需求。例如,在单元测试中,获取私有变量的值可以帮助我们验证
对象和类使用 class 并紧跟类名创建一个类。属性的声明类似常量和变量的声明,不同的是作用范围是这个类。同样的,方法和函数的声明一样。class Shape { var numberOfSides = 0 func simpleDescription() -> String { return "A shape with \(numberOfSides) si
一、类的定义Swift与Objective-C定义类的区别 Objective-C:一般需要2个文件,1个.h声明文件和1个.m实现文件 Swift:只需要1个.swift文件 Swift中类的定义格式1 class 类名 { 2 // ... 属性和方法 3 }二、属性1.什么是属性  Swift中的属性(Properties),就类似于其他面向对象语言中的成员变量2.属性的分类
转载 2024-06-13 14:26:19
83阅读
关于基本操作符Swift支持大多数的标准C操作符,也改进了其中一些能力以避免常见的编写错误。例如,等号=并不返回一个值,以避免想用==时发生误写。运算符号(+, -, *, /, %等)会检查值的溢出并且不允许溢出,避免产生的结果超出值类型存储范围。Swift还提供了两个范围操作符(a..<b和a...b)。1、赋值 1 let b = 10 2 var a = 5 3 a = b 4 /
一、存储属性1.1 概念存储属性是一个作为特定类和结构体实例一部分的常量或变量。存储属性要么是变量存储属性 (由 var 关键字引入),要么是常量存储属性(由 let 关键字引入)。1.2  let 修饰和用 var 修饰的区别class Person { let name: String var age: Int init(_ name:String, _ ag
转载 2024-02-10 14:59:32
79阅读
Swift里面的类型分为两种: ●值类型(Value Types):每个实例都保留了一分独有的数据拷贝。如结构体 (struct)、枚举(enum) 和元组(tuple)。 ●引用类型(Reference Type):每个实例共享同一份数据来源,如类(class)。值类型与引用类型的区别在于: 值类型和引用类型最基本的区别在于复制之后的结果。当一个值类型被复制的时候,相当于创造了一个完全独立
转载 2023-10-17 21:17:31
107阅读
  • 1
  • 2
  • 3
  • 4
  • 5