Latest web development tutorials

Métodos rápidos

Swift é uma função do método está relacionado com certos tipos

Em Objective-C, as classes são os métodos definidos único tipo. Mas Swift, você não só pode escolher se deseja definir uma classe / struct / enum, mas também flexível no tipo (classe / struct / enum) que você criar no método de definição.


Métodos da instância

Em linguagem Swift, um método de instância pertence a uma classe particular, uma estrutura ou de instâncias tipo enumerado.

método de instância fornece os seguintes métodos:

  • Você pode acessar e modificar propriedades de instância

  • Exemplo fornecendo funções relacionadas ao objeto

Exemplos de métodos para escrever em torno dele pertence entre os tipos de chaves ({}).

Exemplos de método implícito pode acessar todos os métodos e propriedades de outras instâncias do tipo a que pertence.

Exemplos de métodos só pode ser chamado de uma instância específica da classe a que pertence.

método de instância não pode ser separada na instância existente é chamado.

gramática

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

Exemplos

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)

A saída de execução de programa acima é:

6
0

classe Contador define três métodos de instância:

  • increment de modo que o contador é incrementado por um;
  • incrementBy(amount: Int) fazem contador por um valor inteiro especificado é incrementado;
  • reset o contador é reposto a 0.

Counter Esta classe também declara um atributo variável count , usá-lo para controlar o valor atual do contador.


nome do parâmetro local e o nome do método, os parâmetros externos

parâmetros da função Swift pode ter um nome local (no corpo da função utilizada internamente) e um nome externo (usado ao chamar funções

métodos rápidos e método de Objective-C muito semelhante. Como em Objective-C, o mesmo que o nome da Swift no método geralmente uma preposição aponta para o primeiro método parâmetro, por exemplo: com, para, por, e assim por diante.

padrão Swift apenas para o método do primeiro parâmetro o nome de um nome de parâmetro local; o padrão ao mesmo tempo para o segundo e subsequente nome do parâmetro nome do parâmetro global.

Os exemplos a seguir 'no1' declarado localmente em nome parâmetro na rápida. 'No2 "para declarações globais e acessado através de um programa externo.

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)

A saída de execução de programa acima é:

600
320
3666

Se para fornecer configurações de nome externos

Nós forçar o primeiro argumento para adicionar um nome externo para o nome do nome do local como o uso externo (Swift 2.0 antes de usar o sinal #).

Em vez disso, podemos usá-lo também sublinha (_) para definir o segundo e subseqüentes argumentos não fornecem um nome externo.

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)

A saída de execução de programa acima é:

2400
500
45000

auto propriedade

Cada instância do tipo tem uma propriedade chamada auto implícita, auto exatamente o mesmo que a própria ocorrência.

Você pode usar essa auto implícita uma propriedade em uma instância método de instância para fazer referência à instância atual.

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()

A saída de execução de programa acima é:

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

Modificar o método de instância tipo de valor

estruturas de linguagem Swift e enumerações são tipos de valor. Em geral, o tipo de o valor da propriedade não podem ser modificados nos seus métodos de instância.

Mas se você realmente precisa mudar a estrutura ou propriedade enumerado de uma maneira específica, você pode escolher a variação (mutação) o método, o método pode alterar as propriedades do método interno; quaisquer alterações, e ele faz no final do método será deixada na estrutura original.

O método também pode dar-lhe a atribuição auto propriedade implícita uma nova instância desta nova instância para substituir a instância original com o método.

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)

A saída de execução de programa acima é:

9
15
270
450
81000
135000

Na variável de processo atribuído a auto

Método variável pode indicar atributos de auto implicava uma nova instância.

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)

A saída de execução de programa acima é:

39
65

métodos de tipo

método de instância é um método é chamado de uma instância do tipo, você também pode definir o tipo de método chama-se, este método é chamado de método de tipo.

estrutura de declaração e método de tipo enumerado antes método func palavra-chave com a palavra-chave estática. Classe pode usar a palavra-chave class para permitir subclasses substituir a implementação classe pai.

O mesmo tipo e instância métodos que utilizam o ponto (.) Sintaxe para invocar.

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)

A saída de execução de programa acima é:

35
5