Upload
hao-lee
View
62
Download
1
Embed Size (px)
Citation preview
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