Swift 1小时速学教程

6877 ワード

本文は張淵傑(ネット名の静寂)が書いた.
Swift 1小时速学教程
前に書いてあると
一部の人は、ほほほ、1時間に1つの言語を学んで、あなたは笑うのではありませんて、私は言いたいのですが、はい、完全にできて、あなたがどのように学ぶかを見なければなりません
1時間以内にswiftをマスターするには、この言語を完全にマスターするのではなく、基本的な使用をマスターし、 を使用することがこのチュートリアルの究極の目的です.
学習は実は体験で、学習は実は思考で、学習は実は検証で、学習は結局実践が必要で、結局現実の中の問題を解決しなければならなくて、よし、私達に始めましょう
注意:このチュートリアルは、C++、Objective-C、PHPなどのオブジェクト向けプログラミング言語を習得し、これらの言語を使用してプロジェクトを作成した人に適用します.
概要
  • 基本出力
  • 変数と定数
  • 演算子と式
  • 選択文
  • ループ文
  • 配列
  • 辞書
  • 関数
  • 文字列
  • 構造体
  • 列挙
  • クラスの定義
  • クラスの初期化
  • クラスメソッド
  • クラスの継承
  • クラスの拡張
  • クラスのプロトコル-エージェント
  • を実装
    1. hello world
    例1:hello worldを出力する
    最も簡単なswiftプログラムを書きましょう.
    //  print    hello world
    print("hello world")
    

    説明://と/**/注釈文を使用して、文の後ろの";"加えてもいいし、つけなくてもいいです.
    2.変数定義
    例1:円の面積を計算する
    varを使用して変数を定義し、printを使用して出力します.
    //  var    ,            ,        ,       
    var a = 10
    var b = 20
    var c = a+b
    
    //     \(c)          c  
    print("a = \(c)")
    

    例2:変数タイプと変換
    //4     
    var n1:Int
    n1=10;
    var n2:Double = 10.23;
    var n3:Character = "A";
    var n4:String = "AB"
    
    
    //    
    var v5 = 10.2
    var v6 = 3
    //   ,      
    //var v7 = v5 + v6
    
    //swift        ,            ,           
    var v7 = v5 + Double(v6)
    print("v7 = \(v7)")
    

    3.演算子と式
    例1:円の面積を計算する
    let pi = 3.14159
    var r = 10
    var area = Double(r) * Double(r) * pi
    print("area = \(area)")
    

    説明:swiftはタイプの安全な言語で、整数と小数は直接計算することができなくて、同じタイプに変換する必要があります
    4.文の選択
    例1:成績が合格か否かを判断する
    //    
    var score = 67
    
    //swift    OC    
    if(score>=60)
    {
        print("  ")
    }
    else
    {
        print("  ")
    }
    

    5.ループ文
    例1:1~100の合計を計算する
    var sum = 0
    
    //swift     for  ,  oc  ,         var  
    for(var i=1; i<=100; i++)
    {
        sum += i
    }
    print("sum = \(sum)")
    

    6.配列
    例1:5人の年齢を記憶し、平均値を算出する
    
    //    []     
    var ages = [23,24,12,43,32]
    
    //  ages[0]      
    print("       \(ages[0])")
    
    //  count        
    print("       \(ages.count)")
    
    var sum = 0.0
    for(var i=0; i

    7.辞書
    例1:5人の年齢を記憶し、平均値を算出する
    
    //  []    
    var dict = ["sid":"0805",
                "name":"zhangsan",
                "score":89]
    var name = dict["name"]
    
    //       nil,      
    if(name != nil)
    {
        //name!    name   nil,      ,        
        print("name = \(name!)")
    }
    
    //     
    for (key,value) in dict
    {
        print("\(key) -> \(value)")
    }
    

    8.関数
    インスタンス1:基本関数を定義します(パラメータと戻り値はありません).
    //        
    func basic()
    {
        print("hello")
    }
    
    //      
    basic()
    

    例2:パラメータ付きおよび戻り値メソッド
    //swift       ,         
    func sum(let x:Int,let y:Int) -> Int
    {
        return x+y;
    }
    
    //    
    var n = sum(10, y: 10)
    print("n = \(n)")
    

    9.文字列
    例1:文字列の定義、出力
    //          
    var s = "hello"
    
    //     
    print("s = \(s)")
    
    //      
    print("s = \(s.characters.count)")
    

    インスタンス2:文字列のマージ
    //  
    var s1 = "hello "
    var s2 = "world"
    
    //       +        
    var s3 = s1 + s2
    print("s3 = \(s3)")
    

    例3:サブストリングの取得
    var s4 = "day day up"
    var subString = s4.substringFromIndex(s.startIndex.advancedBy(4))
    print("s4 = \(subString)")
    

    10.構造体
    例1:構造体を定義し、変数を定義し、プロパティを使用する
    //       ,   ,            ,      
    struct Person
    {
        var name = ""
        var age = 0
    }
    
    //         
    var zhsan = Person()
    
    //        
    zhsan.name = "zhangsna"
    zhsan.age = 10
    

    11.列挙
    例1:列挙を定義し、この列挙を使用する
    //      ,       case  
    enum Week
    {
        case   
        case   
        case   
        case   
        case   
        case   
        case   
    }
    
    //         
    print("1-> \(Week.  )")
    

    12.クラスの定義と使用
    インスタンス1:クラスを定義し、オブジェクトを作成し、プロパティとメソッドを使用
    //  class   
    class Dog {
        var nickname = ""
        var age = 0
        
        //  func    
        func show()
        {
            //     self      
            //print("name = \(self.nickname), age = \(self.age)")
            
            print("name = \(nickname), age = \(age)")
        }
    }
    
    //   "  () "      
    var dog = Dog()
    
    //       
    dog.nickname = "ahua"
    dog.age = 4
    
    //       
    dog.show()
    

    13.クラスの初期化
    例1:2つの初期化メソッドを追加し、この2つのメソッドを使用してクラスを初期化
    class Car
    {
        var type = ""
        var speed = 0.0
        
        //         
        init()
        {
            
        }
        
        //          
        init(let type:String,let speed:Double)
        {
            self.type = type
            self.speed = speed
        }
    }
    
    //        
    var car = Car(type:"mini",speed: 100)
    print("name = \(car.type)")
    

    14.クラスのクラスメソッド
    インスタンス1:クラスメソッドの定義と使用
    class Math
    {
        static func add(let x:Int, let y:Int) -> Int
        {
            return x+y;
        }
    }
    
    var num = Math.add(10, y: 20)
    print("n = \(num)")
    

    15.クラスの継承
    インスタンス1:クラスを定義し、クラスを継承
    
    //     
    class Car
    {
        var type = ""
        var speed = 0.0
        
        //         
        init()
        {
            
        }
        
        //          
        init(let type:String,let speed:Double)
        {
            self.type = type
            self.speed = speed
        }
    }
    
    //    FlyCar,     
    class FlyCar : Car
    {
        var flySpeed = 0.0
        func fly()
        {
            print("fly with \(flySpeed)")
        }
    }
    
    //      
    var fc = FlyCar()
    fc.fly()
    

    16.クラスの拡張
    例1:拡張を定義し、この拡張を使用する
    
    extension Car
    {
        //        
        //var loadLimit = 0
        func load()
        {
            print("Load people")
        }
    }
    
    var newCar = Car()
    newCar.load()
    

    17.プロトコル
    例1:プロトコルの定義と使用
    
    //  protocol      
    protocol TextFieldDelegate
    {
        func didFinish()
    }
    
    
    //TextField      delegate        
    class TextField
    {
        var text = ""
        //?  delegate       nil
        var delegate:TextFieldDelegate?
        
        func handClick()
        {
            //        ,     ,             
            if(delegate != nil)
            {
                delegate?.didFinish()
            }
        }
    }
    
    //ViewController       
    class ViewController : TextFieldDelegate
    {
        func viewDidLoad()
        {
            //  
            // ariable was never mutated consider changing to let constant
            let textField = TextField()
            textField.delegate = self
            textField.handClick()
        }
        
        //       
        func didFinish() {
            print("    ")
        }
    }
    

    質問があればアドバイスがありますが、どうやって連絡しますか?
    このチュートリアルで質問やその他の意見があれば、張淵傑(モバイル開発とモバイルトレーニング分野、QQ 598694550、メールボックス)に連絡してください[email protected])