Title: iOS Development Seminar
1iOS Development Seminar
- rodumani_at_sparcs.kaist.ac.kr
- ? ??
- 2013 06
2iOS
- Apple ? mobile OS
- iPhoneOS3 -gt iOS4
- iPhone, iPad, iPod touch
- iOS61.3
- Objective-C 2.0
- Mac OS XCode4 ??
- ?? AppStore? ??
- ???? ?? ?? ??? ? ??
3iOS Developer Program
- iOS SDK? ??? ????
- ??? App? Device Test, ??, APNS, iCloud, ????? ???
???? ?? ??? ?? - ??? ???? ??? Simulator ?? ??
- ????? 99, ????? 299 per year
- http//developer.apple.com/ios
4iOS Developer Library
- iOS ? ???? ??? ? ?? ??.
- http//developer.apple.com/library/ios
5Objective-C 2.0
Tutorial Start Developing iOS Apps
Today https//developer.apple.com/library/ios/ref
erencelibrary/GettingStarted/RoadMapiOS/chapters/W
riteObjective-CCode/WriteObjective-CCode/WriteObje
ctive-CCode.html
6Objective-C 2.0
- C? ???? Smalltalk Style? ??? ??? ??? OOP??
- Next ?? NeXTSTEP?? ????? ?? ??? Next? ???? Mac OS
X? ??? ? NeXTSTEP? ??? ??? ??? ??? Cocoa
Framework? ?? ?? - Objective-C 2.0? ??? 1.0?? ??? ??
7Objective-C 2.0
- C??? ??? ?????? ???
- JAVA? interface? ?? Protocol ??, ??????
- Method ??? ??, Message ?? ??? ?? ??
- MVC??
- Garbage Collector ??(ARC,Auto Reference Count)?
???? iOS??? 5.0???? ????
8????
- .h Header file. class,type,function,constant
declaration - .m Implementation file. Objective-C C code.
- .mm Implementation file. Objective-C C Code.
9??????
- C? ?? ???
- NSNumber, NSInteger, NSDouble...
- NSString
- NSDictionary,NSSet,NSArray,...
- NSURL,NSURLRequest,NSURLResponse
10??????
- Objective-C??? String? _at_? ???
- _at_asdfasdf
- iOS 6.0 ???? ??? Syntax? ????.
- _at_"42 //NSNumber numberWithInt42
- _at__at_"a",_at_"b //NSArray arrayWithObjects_at_a,_at_b
,nil - _at__at_"key1"_at_"value1",_at_"key2"_at_"value2
11??? ??(.h)
12??? ??(.h)
_at_interface classname superclassname
ltProtocol1,Protocol2gt // ??? ??
classMethod1 // ??? ??? (return_type)classMetho
d2 (return_type)classMethod3(param1_type)param
1_varName - (return_type)instanceMethod1(param
1_type)param1_varName (param2_type)param2_varName
// ???? ??? - (return_type)instanceMethod2WithPa
rameter(param1_type)param1_varName
andOtherParameter(param2_type)param2_varName _at_en
d
13??? ?? (.m)
import MyClass.h _at_implementation MyClass
(return_type)classMethod //
Implementation.. - (return_type)instanceMethod
// Implementation.. _at_end
14???
- Static typing
- MyClass myObject1 // MyClass???? object? ??
- Dynamic typing
- id myObject2 // id???(void ???)? object? ??
- id ? ??? ???? ?? Object? ??? ? ??.
15??? ??
16??? ??
- Object methodmessage
- NSString stringWithFormat_at_"_at_",_at_"rodumani"
- webView loadRequestNSURLRequest
allocinitWithURL - NSURL allocinitWithString_at_"http//m.naver.com"
- NSURLRequest request1 webView request
- NSURLRequest request2 webView.request
17Property
- In the general sense, property is some data
encapsulated or stored by an object. It is
either an attributesuch as a name or a coloror
a relationship to one or more other objects. - Property? setPropertyName, propertyName? setter,
getter? ?? ????, dot notation? ?? ??? ??. - Property?? getter, setter? ??? ?? Option? ? ? ??.
- Accessor?? Cocoa,Cocoa Touch Framework?? KVC ??
?? ?? ??? ??? Element??.
18Property Options
- _at_property (nonatomic, copy) NSString userName
- nonatomic / atomic
- atomic? ????, Accessor Methods ? lock? ???? Multi
Thread? ???? ????. ??? ???? ??? ?? ??? ?? ???
nonatomic?? ??? ??? ?????. ???? atomic??. - assign / copy / retain
- Value? Copy?? return??? ? ??? value? return ??.
Retian? ?? ????? ? ??? Reference Count? ????.
assign? setter? ?? ?? ??? ???? ??? ??. - readwrite / readonly
- readonly? setter? ??.
19Protocol
- Protocol ??, Protocol? ???? Object? Protocol? ???
??? ???? ????, ? ???? ??? ??? ??? ???. - iOS ?? Delegate Pattern? ?? ?? ???? Pattern??
Object? ??? ??? ?? ?, Delegate(???)?? ??? ??? ???
???. - ??? ???? ??? ?? ??? Protocol?? ????.
- _at_interface HelloWorldViewController
UIViewController ltUITextFieldDelegategt
Delegate Pattern http//en.wikipedia.org/wiki/Del
egation_pattern
20Category
- ?? ?? ???? ???? ??
- ?? ???? ?? ??? ??? Method? ?? ? ??.
21(No Transcript)
22(No Transcript)
23(No Transcript)
24Start Developing iOS App Today
- iOS ? ?? ??? ???? ???? ??? ??
- http//developer.apple.com/library/ios/referencel
ibrary/GettingStarted/RoadMapiOS/index.html23//ap
ple_ref/doc/uid/TP40011343
25iOS MVC Model
26- .h, .m ViewController ?? DataSource ? Source
Code - .storyboard, .xib MVC???? V? ???? Layout?
???? ??. (android layout xml) - storyboard ? Action? ?? ??? ??? ??? ? ?? ???
Layout ?? ????. (XCode 4.3 ??, iOS5 ????)
storyboard http//pinkyroman.tistory.com/4
27? ????? ??? ??? ??
- Mac OS X 10.8 Mountain Lion ??
- Xcode 4.6.2
- iOS 6.1.3
- Deployment Target 6.0
28Hello World!
- Xcode? ??
- Create a new Xcode project
- ?? ?? ???? File-New-Project
- iOS Application Single View Application
- Product name helloworld
- Organization name SPARCS
- Company Identifier org.SPARCS.
- Class Prefix Empty
- Devices iPhone
- Use Automatic Reference Counting
- StoryBoard? ????
29(No Transcript)
30(No Transcript)
31(No Transcript)
32(No Transcript)
33????!
34(No Transcript)
35(No Transcript)
36(No Transcript)
37(No Transcript)
38(No Transcript)
39(No Transcript)
40iOS Simulator
- A?? ??????? ???? ?? ??? ??? 11???? ??
- Hardware-Device?? ???? ??? ?? ??
- Hardware Lock(?L), Home(?- Shift H) ?? ????
Lock? ?? - ????? ???? ??
- Option?? ??? ??? ??? ( ?? ??? ?? )
- ?, iCloud, APNS ?? ???? ???? ??? ??? ??
41?? ???
421. UI ??
43(No Transcript)
44(No Transcript)
45View ? Code? ??
46???
???? ??? ???
47(No Transcript)
48(No Transcript)
49(No Transcript)
50??? ???? ??? ??
- import ltUIKit/UIKit.hgt
- _at_interface ViewController UIViewController
- _at_property (strong, nonatomic) IBOutlet
UITextField lhsTextField - _at_property (strong, nonatomic) IBOutlet
UITextField rhsTextField - _at_property (strong, nonatomic) IBOutlet UIButton
calculateButton - _at_property (strong, nonatomic) IBOutlet UILabel
resultLabel - -(IBAction)calculate(id)selector
- _at_end
51??? ???? ??? ??
52??? ????
53(No Transcript)
54???
- ???? ?????
- ???? ???? ??? ???? ??
55???
- Calculate ??? ? ???? ???
- ??? ??? ?? ???? ???
- ???? ?????? ??
56???? ??? ??
571. calculate? ??? ? ??? ???
582. ??? ??? ? ??? ???
593. Number Keyboard? ???
60??!
61????
- ? ??? ??? ?????? ????
- UITableView UINavigationController ????
- HTTP NetworkRequest
- JSON
- ?? ??