mirror of
https://github.com/adambard/learnxinyminutes-docs.git
synced 2024-11-23 14:17:02 +03:00
Merge remote-tracking branch 'upstream/master' into json-ru
This commit is contained in:
commit
8231809500
@ -1,7 +1,7 @@
|
|||||||
---
|
---
|
||||||
language: swift
|
language: swift
|
||||||
contributors:
|
contributors:
|
||||||
- ["Grant Timmerman", "http://github.com/grant"],
|
- ["Grant Timmerman", "http://github.com/grant"]
|
||||||
- ["Christopher Bess", "http://github.com/cbess"]
|
- ["Christopher Bess", "http://github.com/cbess"]
|
||||||
translators:
|
translators:
|
||||||
- ["Mariane Siqueira Machado", "https://twitter.com/mariane_sm"]
|
- ["Mariane Siqueira Machado", "https://twitter.com/mariane_sm"]
|
||||||
@ -9,14 +9,14 @@ lang: pt-br
|
|||||||
filename: learnswift.swift
|
filename: learnswift.swift
|
||||||
---
|
---
|
||||||
|
|
||||||
Swift é uma linguagem de programação para desenvolvimento de aplicações no iOS e OS X criada pela Apple. Criada para
|
Swift é uma linguagem de programação para desenvolvimento de aplicações no iOS e OS X criada pela Apple. Criada para
|
||||||
coexistir com Objective-C e para ser mais resiliente a código com erros, Swift foi apresentada em 2014 na Apple's
|
coexistir com Objective-C e para ser mais resiliente a código com erros, Swift foi apresentada em 2014 na Apple's
|
||||||
developer conference WWDC. Foi construída com o compilador LLVM já incluído no Xcode 6 beta.
|
developer conference WWDC. Foi construída com o compilador LLVM já incluído no Xcode 6 beta.
|
||||||
|
|
||||||
O livro oficial [Swift Programming Language] (https://itunes.apple.com/us/book/swift-programming-language/id881256329) da
|
O livro oficial [Swift Programming Language] (https://itunes.apple.com/us/book/swift-programming-language/id881256329) da
|
||||||
Apple já está disponível via IBooks (apenas em inglês).
|
Apple já está disponível via IBooks (apenas em inglês).
|
||||||
|
|
||||||
Confira também o tutorial completo de Swift da Apple [getting started guide](https://developer.apple.com/library/prerelease/ios/referencelibrary/GettingStarted/LandingPage/index.html), também disponível apenas em inglês.
|
Confira também o tutorial completo de Swift da Apple [getting started guide](https://developer.apple.com/library/prerelease/ios/referencelibrary/GettingStarted/RoadMapiOS/index.html), também disponível apenas em inglês.
|
||||||
|
|
||||||
```swift
|
```swift
|
||||||
// importa um módulo
|
// importa um módulo
|
||||||
@ -59,9 +59,9 @@ let piText = "Pi = \(π), Pi 2 = \(π * 2)" // Interpolação de strings
|
|||||||
println("Build value: \(buildValue)") // Build value: 7
|
println("Build value: \(buildValue)") // Build value: 7
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Optionals fazem parte da linguagem e permitem que você armazene um
|
Optionals fazem parte da linguagem e permitem que você armazene um
|
||||||
valor `Some` (algo) ou `None` (nada).
|
valor `Some` (algo) ou `None` (nada).
|
||||||
|
|
||||||
Como Swift requer que todas as propriedades tenham valores, até mesmo nil deve
|
Como Swift requer que todas as propriedades tenham valores, até mesmo nil deve
|
||||||
ser explicitamente armazenado como um valor Optional.
|
ser explicitamente armazenado como um valor Optional.
|
||||||
|
|
||||||
@ -76,7 +76,7 @@ if someOptionalString != nil {
|
|||||||
if someOptionalString!.hasPrefix("opt") {
|
if someOptionalString!.hasPrefix("opt") {
|
||||||
println("has the prefix")
|
println("has the prefix")
|
||||||
}
|
}
|
||||||
|
|
||||||
let empty = someOptionalString?.isEmpty
|
let empty = someOptionalString?.isEmpty
|
||||||
}
|
}
|
||||||
someOptionalString = nil
|
someOptionalString = nil
|
||||||
@ -289,7 +289,7 @@ print(numbers) // [3, 6, 18]
|
|||||||
// Estruturas e classes tem funcionalidades muito similares
|
// Estruturas e classes tem funcionalidades muito similares
|
||||||
struct NamesTable {
|
struct NamesTable {
|
||||||
let names: [String]
|
let names: [String]
|
||||||
|
|
||||||
// Custom subscript
|
// Custom subscript
|
||||||
subscript(index: Int) -> String {
|
subscript(index: Int) -> String {
|
||||||
return names[index]
|
return names[index]
|
||||||
@ -319,7 +319,7 @@ public class Shape {
|
|||||||
|
|
||||||
internal class Rect: Shape {
|
internal class Rect: Shape {
|
||||||
var sideLength: Int = 1
|
var sideLength: Int = 1
|
||||||
|
|
||||||
// Getter e setter personalizado
|
// Getter e setter personalizado
|
||||||
private var perimeter: Int {
|
private var perimeter: Int {
|
||||||
get {
|
get {
|
||||||
@ -330,13 +330,13 @@ internal class Rect: Shape {
|
|||||||
sideLength = newValue / 4
|
sideLength = newValue / 4
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Carregue uma propriedade sob demanda (lazy)
|
// Carregue uma propriedade sob demanda (lazy)
|
||||||
// subShape permanece nil (não inicializado) até seu getter ser chamado
|
// subShape permanece nil (não inicializado) até seu getter ser chamado
|
||||||
lazy var subShape = Rect(sideLength: 4)
|
lazy var subShape = Rect(sideLength: 4)
|
||||||
|
|
||||||
// Se você não precisa de um getter e setter personalizado,
|
// Se você não precisa de um getter e setter personalizado,
|
||||||
// mas ainda quer roda código antes e depois de configurar
|
// mas ainda quer roda código antes e depois de configurar
|
||||||
// uma propriedade, você pode usar `willSet` e `didSet`
|
// uma propriedade, você pode usar `willSet` e `didSet`
|
||||||
var identifier: String = "defaultID" {
|
var identifier: String = "defaultID" {
|
||||||
// o argumento `willSet` será o nome da variável para o novo valor
|
// o argumento `willSet` será o nome da variável para o novo valor
|
||||||
@ -344,25 +344,25 @@ internal class Rect: Shape {
|
|||||||
print(someIdentifier)
|
print(someIdentifier)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
init(sideLength: Int) {
|
init(sideLength: Int) {
|
||||||
self.sideLength = sideLength
|
self.sideLength = sideLength
|
||||||
// sempre chame super.init por último quand inicializar propriedades personalizadas (custom)
|
// sempre chame super.init por último quand inicializar propriedades personalizadas (custom)
|
||||||
super.init()
|
super.init()
|
||||||
}
|
}
|
||||||
|
|
||||||
func shrink() {
|
func shrink() {
|
||||||
if sideLength > 0 {
|
if sideLength > 0 {
|
||||||
--sideLength
|
--sideLength
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override func getArea() -> Int {
|
override func getArea() -> Int {
|
||||||
return sideLength * sideLength
|
return sideLength * sideLength
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Uma classe básica `Square` que estende `Rect`
|
// Uma classe básica `Square` que estende `Rect`
|
||||||
class Square: Rect {
|
class Square: Rect {
|
||||||
convenience init() {
|
convenience init() {
|
||||||
self.init(sideLength: 5)
|
self.init(sideLength: 5)
|
||||||
@ -420,10 +420,10 @@ protocol ShapeGenerator {
|
|||||||
|
|
||||||
class MyShape: Rect {
|
class MyShape: Rect {
|
||||||
var delegate: TransformShape?
|
var delegate: TransformShape?
|
||||||
|
|
||||||
func grow() {
|
func grow() {
|
||||||
sideLength += 2
|
sideLength += 2
|
||||||
|
|
||||||
if let allow = self.delegate?.canReshape?() {
|
if let allow = self.delegate?.canReshape?() {
|
||||||
// test for delegate then for method
|
// test for delegate then for method
|
||||||
// testa por delegação e então por método
|
// testa por delegação e então por método
|
||||||
@ -439,7 +439,7 @@ class MyShape: Rect {
|
|||||||
|
|
||||||
// `extension`s: Adicionam uma funcionalidade extra para um tipo já existente.
|
// `extension`s: Adicionam uma funcionalidade extra para um tipo já existente.
|
||||||
|
|
||||||
// Square agora "segue" o protocolo `Printable`
|
// Square agora "segue" o protocolo `Printable`
|
||||||
extension Square: Printable {
|
extension Square: Printable {
|
||||||
var description: String {
|
var description: String {
|
||||||
return "Area: \(self.getArea()) - ID: \(self.identifier)"
|
return "Area: \(self.getArea()) - ID: \(self.identifier)"
|
||||||
@ -453,7 +453,7 @@ extension Int {
|
|||||||
var customProperty: String {
|
var customProperty: String {
|
||||||
return "This is \(self)"
|
return "This is \(self)"
|
||||||
}
|
}
|
||||||
|
|
||||||
func multiplyBy(num: Int) -> Int {
|
func multiplyBy(num: Int) -> Int {
|
||||||
return num * self
|
return num * self
|
||||||
}
|
}
|
||||||
|
@ -17,7 +17,7 @@ Swift - это язык программирования, созданный к
|
|||||||
|
|
||||||
Официальная книга по [языку программирования Swift](https://itunes.apple.com/us/book/swift-programming-language/id881256329) от Apple доступна в iBooks.
|
Официальная книга по [языку программирования Swift](https://itunes.apple.com/us/book/swift-programming-language/id881256329) от Apple доступна в iBooks.
|
||||||
|
|
||||||
Смотрите еще [начальное руководство](https://developer.apple.com/library/prerelease/ios/referencelibrary/GettingStarted/LandingPage/index.html) Apple, которое содержит полное учебное пособие по Swift.
|
Смотрите еще [начальное руководство](https://developer.apple.com/library/prerelease/ios/referencelibrary/GettingStarted/RoadMapiOS/index.html) Apple, которое содержит полное учебное пособие по Swift.
|
||||||
|
|
||||||
```swift
|
```swift
|
||||||
// импорт модуля
|
// импорт модуля
|
||||||
|
@ -453,7 +453,7 @@ def matchEverything(obj: Any): String = obj match {
|
|||||||
// feature is so powerful that Scala lets you define whole functions as
|
// feature is so powerful that Scala lets you define whole functions as
|
||||||
// patterns:
|
// patterns:
|
||||||
val patternFunc: Person => String = {
|
val patternFunc: Person => String = {
|
||||||
case Person("George", number") => s"George's number: $number"
|
case Person("George", number) => s"George's number: $number"
|
||||||
case Person(name, number) => s"Random person's number: $number"
|
case Person(name, number) => s"Random person's number: $number"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@ Swift is a programming language for iOS and OS X development created by Apple. D
|
|||||||
|
|
||||||
The official [Swift Programming Language](https://itunes.apple.com/us/book/swift-programming-language/id881256329) book from Apple is now available via iBooks.
|
The official [Swift Programming Language](https://itunes.apple.com/us/book/swift-programming-language/id881256329) book from Apple is now available via iBooks.
|
||||||
|
|
||||||
See also Apple's [getting started guide](https://developer.apple.com/library/prerelease/ios/referencelibrary/GettingStarted/LandingPage/index.html), which has a complete tutorial on Swift.
|
See also Apple's [getting started guide](https://developer.apple.com/library/prerelease/ios/referencelibrary/GettingStarted/RoadMapiOS/index.html), which has a complete tutorial on Swift.
|
||||||
|
|
||||||
```swift
|
```swift
|
||||||
// import a module
|
// import a module
|
||||||
|
@ -10,7 +10,7 @@ lang: zh-cn
|
|||||||
|
|
||||||
Swift 是Apple 开发的用于iOS 和OS X 开发的编程语言。Swift 于2014年Apple WWDC (全球开发者大会)中被引入,用以与Objective-C 共存,同时对错误代码更具弹性。Swift 由Xcode 6 beta 中包含的LLVM编译器编译。
|
Swift 是Apple 开发的用于iOS 和OS X 开发的编程语言。Swift 于2014年Apple WWDC (全球开发者大会)中被引入,用以与Objective-C 共存,同时对错误代码更具弹性。Swift 由Xcode 6 beta 中包含的LLVM编译器编译。
|
||||||
|
|
||||||
参阅:Apple's [getting started guide](https://developer.apple.com/library/prerelease/ios/referencelibrary/GettingStarted/LandingPage/index.html) ——一个完整的Swift 教程
|
参阅:Apple's [getting started guide](https://developer.apple.com/library/prerelease/ios/referencelibrary/GettingStarted/RoadMapiOS/index.html) ——一个完整的Swift 教程
|
||||||
|
|
||||||
```swift
|
```swift
|
||||||
//
|
//
|
||||||
|
Loading…
Reference in New Issue
Block a user