105-2 ios程式設計(二)

97
iOS程式設計 李晧 2017/03/03

Upload: hao-lee

Post on 21-Apr-2017

62 views

Category:

Education


1 download

TRANSCRIPT

  • iOS

    2017/03/03

  • MacFusion DriveSSD

    Apple ID

    Xcode

    UnityXamarin

    XcodeObjective-CSwift

    XcodeIDEC#HTML5

  • Xcode

  • Playground

  • Playground

  • Playground 2014 Swift

    Xcode 6

    Swift

    2016 iPad

  • Swift & Objective-CSwift Objective-C2014 1984

    3.0.2 (2016) 2.0 (2007)

    .swift .h.m.mm

  • Swift & Objective-C

    import #import

    import Foundation import UIKit

    #import #import

  • Swift & Objective-C

    let number: Int = 10 #define number 10

  • Swift & Objective-C

    var number: Int = 10 int number = 10;

    var number = 10

  • Swift & Objective-C

    var number1: Float = 0.4 float number1 = 0.4;

    var number2: Double = 0.6 double number2 = 0.6;

    number1 + number2 number1 + number2;

  • Swift & Objective-C

    var number1: Float = 0.4 float number1 = 0.4;var number2: Double = 0.6 double number2 = 0.6;

    number1 + Float(number2) number1 + number2;

  • Swift & Objective-C

    var number1: Float = 0.4

    var number2: Double = 0.6

    var number2 = 0.6

  • Swift & Objective-C

    var number1: Float = 0.4 float number1 = 0.4;var number2 = 0.6 double number2 = 0.6;

    number2 + 0.8 number2 + 0.8;

    number1 + 0.2 number1 + 0.2;

  • Swift & Objective-C

    var number1: Float = 0.4var number2 = 0.6

    number2 + 0.8

    number1 + 0.2 0.2Float

    0.8Double

  • Swift & Objective-C

    var nums = [1, 2, 3] NSArray *nums = @[1, 2, 3];

    NSArray

  • Swift & Objective-C

    NSNumber *number = @(10);

    NSNumber *number = @(0.5);

    NSNumber *number = @(true);

  • Swift & Objective-C

    var nums = [1, 2, 3] NSArray *nums = @[1, 2, 3];

    NSArray *nums = @[@(1), @(2), @(3)];

  • Swift & Objective-C

    var text: String = "" NSString *text = @"";

    var text: NSString = ""

    var text = ""

    var text = "" as NSString

  • SwiftString vs NSString

    var text: String = "" var text: NSString = ""

    struct String { /* ...... */ }

    class NSString { /* ...... */ }

  • Swift

    Struct Class

    Value Type Reference Type

  • ClassReference Type

  • StructValue Type

  • ClassReference Type

  • StructValue Type

  • Class

  • Class

  • Class

  • Struct

  • Struct

  • Class

  • Swift & Objective-C

  • Swift & Objective-C

    var number1: Float = 0.4 float number1 = 0.4;var number2: Double = 0.6 double number2 = 0.6;

    number1 + Float(number2) number1 + number2;

  • Swift & Objective-C

    var text: String = "" NSString *text = @"";

    var text: NSString = ""

    var text = ""

    var text = "" as NSString

  • Objective-C

    int num1 = 1;int num2 = 2;

    double num3 = num1 / num2; // num3 = 0

    double num3 = num1 / (double)num2; // num3 = 0.5

  • Swift

    var num1: Int = 1var num2: Int = 2

    var num3 = num1 / num2 // num3 = 0 var num3: Double = num1 / num2

    // ERROR

    var num3 = Double(num1) / Double(num2) // num3 = 0.5

  • Swift

    var text: String = "" var text: NSString = ""

    var text = "" as NSString

    Reference TypeValue Type

    Obj-CNSClassSwift 3StructNSAttributedString

  • Swift

    Writing Swift Classes and Protocols with Objective-C Behavior : Apple Inc. Using Swift with Cocoa and Objective-C (Swift 3.0.1) iBooks. https://itun.es/tw/1u3-0.l

    https://itun.es/tw/1u3-0.l

  • Swift

  • Swift

    Any

    AnyObject

  • Swift

  • SwiftOptional Type & nil

    Optional Type?(nil)

    nilObjective-CNULLnilNil

  • Objective-C

    NULLObjective-CC(void *)

    nilObjective-C

    NilObjective-C

    NULLnilNil0

  • SwiftOptional Type

    Optional Type?? Optional Type

  • Swiftfor

    for (; ; ) { /* ...... */ }

    for in { /* ...... */ }

  • Swiftfor

  • Swiftfor

  • Swiftfor

    for (int i = 0; i < 5; i++) { /* ...... */ }

    for i in 0..

  • Swiftfor

    for (int i = 0; i

  • SwiftSwitch

  • Swift()

    C i++i--++i--i

    Swift i++i--++i--i

    () i += 1i -= 1

  • Swift

  • Swift

  • Swift

  • Swift Unicode

  • Swift

  • Swift & Objective-C

    var nums = [1, 2, 3] NSArray *nums = @[1, 2, 3];

    NSArray *nums = @[@(1), @(2), @(3)];

  • Swift

    Int

  • Swift

  • Swift

  • Swift

  • Swift

  • Swift

  • Swift

  • Swift

    Dictionary ()

    Dictionary (Key)(Value) Key Value

    Key Hashable (protocol) Key String

  • SwiftDictionary ()

  • Swift

  • SwiftTuple

    (key, value)

  • SwiftTuple

    Tuple Tuple

    Tuple Objective-C

    C# Tuple

  • Swift & Objective-C

    Class & Method

  • C#Class & Method

    class Car { void StartEngine() { /* ...... */ } void AddGas(int gallons) { /* ...... */ } int Drive(int miles, int speed) { /* ...... */ return 1; }}

  • Objective-CClass & Method

  • SwiftClass & Method

    class Car { func startEngine() { /* ...... */ } func add(gas gallons: Int) { /* ...... */ } func drive(miles: Int, speed: Int)-> Int { /* ...... */ return 1 }}

  • SwiftClass & Method

    func add(gas gallons: Int)

    ()

    ()

  • SwiftClass & Method

    let car = Car()car.add(gas: 10)

    class Car { func add(gas gallons: Int) { /* ...... */ }}

  • SwiftClass & Method

    func drive(miles: Int, speed: Int)-> Int

    1()

    2()

  • SwiftClass & Method

    let car = Car()car.drive(miles: 10, speed: 60)

    class Car { func drive(miles: Int, speed: Int)-> Int { /* ...... */ return 1 }}

  • SwiftClass & Method

    let car = Car()car.drive(miles: 10, speed: 60)

    let car = Car()_ = car.drive(miles: 10, speed: 60)

    let car = Car()let drive = car.drive(miles: 10, speed: 60)

  • Swift

    let car = Car()_ = car.drive(miles: 10, speed: 60)

    _

  • Swift (Property)

  • Xcode

  • Xcode

  • Xcode

  • APP

  • Product NameTeam

    Organization NameOrganization Identifier(Domain)

  • Xcode

  • Xcode

  • Xcode

  • Xcode

  • Xcode

  • Xcode

  • Xcode

  • Apple Developer Program ()

    iPhoneiPad

    iOS

    StoryboardAutoLayout