105-2 iOS程式設計(二)
Transcript of 105-2 iOS程式設計(二)
-
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