Latest web development tutorials

Swift Методы

Swift является функцией метода, связанный с определенными типами

В Objective-C, классы являются определены только типа методы. Но Swift, вы не только можете выбрать, хотите ли вы, чтобы определить класс / структуры / перечисление, но и гибкость в типе (класс / структура / перечислений), который вы создаете на методе определения.


Методы экземпляра

В Swift языке, метод экземпляра принадлежит к определенному классу, структуре или пронумерованный экземпляров типа.

Метод Instance предоставляет следующие методы:

  • Вы можете получить доступ и изменять свойства экземпляра

  • Пример предоставления объектно-функций, связанных с

Примеры способов, чтобы написать вокруг принадлежит между типами скобок ({}).

Примеры неявного метода можно получить доступ ко всем методам и свойствам других экземпляров такого типа, к которому она принадлежит.

Примеры способов можно только назвать конкретный экземпляр класса, к которому он принадлежит.

метод экземпляра класса не могут быть разделены на существующий экземпляр называется.

грамматика

func funcname(Parameters) -> returntype
{
    Statement1
    Statement2
    ……
    Statement N
    return parameters
}

примеров

import Cocoa

class Counter {
    var count = 0
    func increment() {
        count++
    }
    func incrementBy(amount: Int) {
        count += amount
    }
    func reset() {
        count = 0
    }
}
// 初始计数值是0
let counter = Counter()

// 计数值现在是1
counter.increment()

// 计数值现在是6
counter.incrementBy(5)
print(counter.count)

// 计数值现在是0
counter.reset()
print(counter.count)

Выход выше выполнение программы:

6
0

Класс счетчика определяет три метода экземпляра:

  • increment так , что счетчик увеличивается на единицу;
  • incrementBy(amount: Int) делает счетчик на заданное целое значение увеличивается на единицу;
  • reset счетчик сбрасывается на 0.

Counter Этот класс также объявляет переменную атрибут count , использовать его для отслеживания текущего значения счетчика.


Локальное имя параметра и имя метода внешних параметров

Быстрые параметры функции могут иметь как локальное имя (в теле функции, используемой внутри страны) и внешний (имя, используемый при вызове функций

Быстрые методы и метод Objective-C очень похожи. Как и в Objective-C, так же, как имя Swift в методе обычно предлог указывает на первый метод параметра, например: с, ибо она, и так далее.

Swift по умолчанию только к методу первого параметра имя локального имени параметра, по умолчанию, в то же время ко второму и последующим глобальным именем параметра имя параметра.

В следующих примерах 'нет1' объявлена ​​локально во имя параметра в стрижа. 'No2' для глобальных деклараций и доступ к ним через внешнюю программу.

import Cocoa

class division {
    var count: Int = 0
    func incrementBy(no1: Int, no2: Int) {
        count = no1 / no2
        print(count)
    }
}

let counter = division()
counter.incrementBy(1800, no2: 3)
counter.incrementBy(1600, no2: 5)
counter.incrementBy(11000, no2: 3)

Выход выше выполнение программы:

600
320
3666

Независимо от того, чтобы обеспечить внешние настройки имен

Мы заставляем первый аргумент, чтобы добавить внешнее имя к имени локального имени в качестве внешнего использования (Swift 2.0 перед использованием знак #).

Вместо этого мы можем использовать это также подчеркивает (_), чтобы установить второй и последующие аргументы не дают внешнее имя.

import Cocoa

class multiplication {
    var count: Int = 0
    func incrementBy(first no1: Int, no2: Int) {
        count = no1 * no2
        print(count)
    }
}

let counter = multiplication()
counter.incrementBy(first: 800, no2: 3)
counter.incrementBy(first: 100, no2: 5)
counter.incrementBy(first: 15000, no2: 3)

Выход выше выполнение программы:

2400
500
45000

само свойство

Каждый экземпляр типа имеет свойство, называемое неявное, само себя точно так же, как и самим экземпляром.

Вы можете использовать эту неявной свойство и настраивает в экземпляре метода экземпляра для ссылки на текущий экземпляр.

import Cocoa

class calculations {
    let a: Int
    let b: Int
    let res: Int
    
    init(a: Int, b: Int) {
        self.a = a
        self.b = b
        res = a + b
        print("Self 内: \(res)")
    }
    
    func tot(c: Int) -> Int {
        return res - c
    }
    
    func result() {
        print("结果为: \(tot(20))")
        print("结果为: \(tot(50))")
    }
}

let pri = calculations(a: 600, b: 300)
let sum = calculations(a: 1200, b: 300)

pri.result()
sum.result()

Выход выше выполнение программы:

Self 内: 900
Self 内: 1500
结果为: 880
结果为: 850
结果为: 1480
结果为: 1450

Измените метод экземпляра типа значения

Swift языковые структуры и перечислений являются типами значений. В общем случае, тип значения свойства не могут быть изменены в его методах экземпляра.

Но если вам действительно нужно изменить структуру или перечисленное свойство определенным образом, вы можете выбрать вариант (мутирует) метод, то метод может изменить свойства из внутреннего метода, каких-либо изменений, и это делает в конце способа она будет оставаться в исходной структуре.

Способ также может дать Подразумевалось Присвоение собственной собственности новый экземпляр этого нового экземпляра, чтобы заменить исходный экземпляр с помощью метода.

import Cocoa

struct area {
    var length = 1
    var breadth = 1
    
    func area() -> Int {
        return length * breadth
    }
    
    mutating func scaleBy(res: Int) {
        length *= res
        breadth *= res
        
        print(length)
        print(breadth)
    }
}

var val = area(length: 3, breadth: 5)
val.scaleBy(3)
val.scaleBy(30)
val.scaleBy(300)

Выход выше выполнение программы:

9
15
270
450
81000
135000

В переменной процесса назначается самостоятельно

Переменный метод может назначить атрибуты самостоятельной подразумевается новый экземпляр.

import Cocoa

struct area {
    var length = 1
    var breadth = 1
    
    func area() -> Int {
        return length * breadth
    }
    
    mutating func scaleBy(res: Int) {
        self.length *= res
        self.breadth *= res
        print(length)
        print(breadth)
    }
}
var val = area(length: 3, breadth: 5)
val.scaleBy(13)

Выход выше выполнение программы:

39
65

методы типа

Метод экземпляра метод называется экземпляром типа, вы можете также определить тип метода называет себя, этот метод называется метод типа.

Заявление структура и метод Перечислимый типа перед тем методом FUNC ключевого слова с ключевым словом статическим. Класс может использовать класс ключевое слово, чтобы позволить подклассам переопределить реализацию родительского класса.

Те же методы типа и экземпляра, используя точку (.) Синтаксис для вызова.

import Cocoa

class Math
{
    class func abs(number: Int) -> Int
    {
        if number < 0
        {
            return (-number)
        }
        else
        {
            return number
        }
    }
}

struct absno
{
    static func abs(number: Int) -> Int
    {
        if number < 0
        {
            return (-number)
        }
        else
        {
            return number
        }
    }
}

let no = Math.abs(-35)
let num = absno.abs(-5)

print(no)
print(num)

Выход выше выполнение программы:

35
5