1. 实例方法:
实例方法是属于实例的函数,可以通过实例进行调用。
class Counter {
var count = 0
func increment() {
count += 1
}
func reset() {
count = 0
}
}
let counter = Counter()
counter.increment()
print(counter.count) // 输出 1
counter.reset()
print(counter.count) // 输出 0
2. self 关键字:
在方法中,可以使用 self 关键字来引用当前实例。self 不是必须的,Swift 会自动推断。
class Dog {
var name: String
init(name: String) {
self.name = name
}
func printName() {
print("Dog's name is \(name)")
}
}
let myDog = Dog(name: "Buddy")
myDog.printName()
3. 在实例方法中修改值类型:
对于结构体和枚举等值类型,如果想在方法中修改属性,需要使用 mutating 关键字。
struct Point {
var x = 0.0
var y = 0.0
mutating func moveBy(x deltaX: Double, y deltaY: Double) {
x += deltaX
y += deltaY
}
}
var point = Point(x: 1.0, y: 2.0)
point.moveBy(x: 2.0, y: 3.0)
print("New Point: (\(point.x), \(point.y))")
4. 类型方法:
类型方法是在类型本身上调用的方法,而不是在实例上调用。
class MathUtility {
class func add(_ a: Int, _ b: Int) -> Int {
return a + b
}
}
let result = MathUtility.add(3, 4)
print("Result: \(result)")
5. 在扩展中添加方法:
可以使用扩展在不修改原始类型的情况下添加新的方法。
extension Int {
func squared() -> Int {
return self * self
}
}
let number = 5
let squaredNumber = number.squared()
print("Squared Number: \(squaredNumber)")
6. 可变参数方法:
方法可以接受可变数量的参数。
class Calculator {
func sum(_ numbers: Int...) -> Int {
return numbers.reduce(0, +)
}
}
let calculator = Calculator()
let sumResult = calculator.sum(1, 2, 3, 4, 5)
print("Sum: \(sumResult)")
这些是一些基本的方法操作。Swift 的方法提供了丰富的功能,可用于组织和操作类型的功能。
转载请注明出处:http://www.zyzy.cn/article/detail/6852/Swift