ios 5 & xcode 4: arc, stroryboards

125
iOS5 & Xcode4 2012.1.18 EungShik Kim

Upload: henry-k

Post on 30-Apr-2015

191 views

Category:

Software


2 download

DESCRIPTION

Describe new things in iOS 5 and Xcode 4

TRANSCRIPT

Page 1: iOS 5 & Xcode 4: ARC, Stroryboards

iOS5����������� ������������������  &����������� ������������������  Xcode42012.1.18����������� ������������������  EungShik����������� ������������������  Kim

Page 2: iOS 5 & Xcode 4: ARC, Stroryboards

WHAT’S����������� ������������������  NEW����������� ������������������  IN����������� ������������������  IOS5

Page 3: iOS 5 & Xcode 4: ARC, Stroryboards
Page 4: iOS 5 & Xcode 4: ARC, Stroryboards

ToolsXcodeInstruments

Page 5: iOS 5 & Xcode 4: ARC, Stroryboards

Tools LanguageXcode Objective-CInstruments

Page 6: iOS 5 & Xcode 4: ARC, Stroryboards

Tools Language

Frameworks

Xcode Objective-CInstruments

FoundationUIKit

Core DataCore Location

(etc)

Page 7: iOS 5 & Xcode 4: ARC, Stroryboards

Tools Language

Frameworks Patterns

Xcode Objective-CInstruments

FoundationUIKit

Core DataCore Location

(etc)

MVCDelegationTarget-Action

Page 8: iOS 5 & Xcode 4: ARC, Stroryboards

iOS����������� ������������������  Development����������� ������������������  Process����������� ������������������  testing����������� ������������������  /����������� ������������������  debugging����������� ������������������  /����������� ������������������  provisioning����������� ������������������  /����������� ������������������  app����������� ������������������  submission

Tools Language

Frameworks Patterns

Xcode Objective-CInstruments

FoundationUIKit

Core DataCore Location

(etc)

MVCDelegationTarget-Action

Page 9: iOS 5 & Xcode 4: ARC, Stroryboards

iOS����������� ������������������  Development����������� ������������������  Process

Tools Language

Frameworks Patterns

Page 10: iOS 5 & Xcode 4: ARC, Stroryboards

iOS����������� ������������������  Development����������� ������������������  Process

Tools Language

Frameworks Patterns

Xcode 4.2

ARC SupportLLVM 3.0 Compiler

Storyboarding

Page 11: iOS 5 & Xcode 4: ARC, Stroryboards

iOS����������� ������������������  Development����������� ������������������  Process

Tools Language

Frameworks Patterns

Enhancements for ARC

Page 12: iOS 5 & Xcode 4: ARC, Stroryboards

iOS����������� ������������������  Development����������� ������������������  Process

Tools Language

Frameworks Patterns

TwitterNewsstand Kit

UIKitFoundation

No Siri Support (Jan 2012)

Page 13: iOS 5 & Xcode 4: ARC, Stroryboards

iOS����������� ������������������  Development����������� ������������������  Process

Tools Language

Frameworks Patterns

Page 14: iOS 5 & Xcode 4: ARC, Stroryboards

iOS����������� ������������������  Device����������� ������������������  Support

Page 15: iOS 5 & Xcode 4: ARC, Stroryboards

iOS����������� ������������������  Device����������� ������������������  Support

iPhone 4SiPhone 4

Page 16: iOS 5 & Xcode 4: ARC, Stroryboards

iOS����������� ������������������  Device����������� ������������������  Support

iPhone 4SiPhone 4

iPhone 3GSiPod Touch 3G/4G

Page 17: iOS 5 & Xcode 4: ARC, Stroryboards

iOS����������� ������������������  Device����������� ������������������  Support

iPhone 4SiPhone 4

iPhone 3GSiPod Touch 3G/4G

iPadiPad 2

Page 18: iOS 5 & Xcode 4: ARC, Stroryboards

INTRODUCTION����������� ������������������  TO����������� ������������������  ARC

Page 19: iOS 5 & Xcode 4: ARC, Stroryboards

INTRODUCTION����������� ������������������  TO����������� ������������������  ARCAUTOMATIC����������� ������������������  REFERENCE����������� ������������������  COUNTING����������� ������������������  

Page 20: iOS 5 & Xcode 4: ARC, Stroryboards

ARC����������� ������������������  Concept

Page 21: iOS 5 & Xcode 4: ARC, Stroryboards

ARC����������� ������������������  Concept

MyClass *myObj = [[MyClass alloc] init];[myObj someMethod]; // etc.[myObj release];

Page 22: iOS 5 & Xcode 4: ARC, Stroryboards

ARC����������� ������������������  Concept

Page 23: iOS 5 & Xcode 4: ARC, Stroryboards

ARC����������� ������������������  Concept

MyClass *myObj = [[MyClass alloc] init];[myObj someMethod]; // etc.[myObj release];

myObj

Page 24: iOS 5 & Xcode 4: ARC, Stroryboards

ARC����������� ������������������  Concept

MyClass *myObj = [[MyClass alloc] init];[myObj someMethod]; // etc.[myObj release];

myObj dangling pointer

Page 25: iOS 5 & Xcode 4: ARC, Stroryboards

ARC����������� ������������������  Concept

MyClass *myObj = [[MyClass alloc] init];[myObj someMethod]; // etc.[myObj release];[myObj someMethod]; // Boom!

myObj dangling pointer

Page 26: iOS 5 & Xcode 4: ARC, Stroryboards

ARC����������� ������������������  Concept

MyClass *myObj = [[MyClass alloc] init]; [myObj someMethod]; // etc. [myObj release]; [myObj someMethod]; // boom!

myObj dangling pointer

Page 27: iOS 5 & Xcode 4: ARC, Stroryboards

ARC����������� ������������������  Concept

MyClass *myObj = [[MyClass alloc] init]; [myObj someMethod]; // etc. [myObj release]; [myObj someMethod]; // boom!

myObj dangling pointer

MyClass *myObj2 = [[MyClass alloc] init]; [myObj2 someMethod]; // etc. !

myObj2

Page 28: iOS 5 & Xcode 4: ARC, Stroryboards

ARC����������� ������������������  Concept

MyClass *myObj = [[MyClass alloc] init]; [myObj someMethod]; // etc. [myObj release]; [myObj someMethod]; // boom!

myObj dangling pointer

memory leak

Page 29: iOS 5 & Xcode 4: ARC, Stroryboards

ARC����������� ������������������  Concept

MyClass *myObj = [[MyClass alloc] init]; [myObj someMethod]; // etc. [myObj release];

Page 30: iOS 5 & Xcode 4: ARC, Stroryboards

WHAT����������� ������������������  ARC����������� ������������������  MANAGE

Page 31: iOS 5 & Xcode 4: ARC, Stroryboards

WHAT����������� ������������������  ARC����������� ������������������  DOES����������� ������������������  AND����������� ������������������  DOESN’T����������� ������������������  MANAGE

Page 32: iOS 5 & Xcode 4: ARC, Stroryboards

WHAT����������� ������������������  ARC����������� ������������������  DOES����������� ������������������  AND����������� ������������������  DOESN’T����������� ������������������  MANAGE

myObj

MyClass *myObj = [[MyClass alloc] init];

Page 33: iOS 5 & Xcode 4: ARC, Stroryboards

WHAT����������� ������������������  ARC����������� ������������������  DOES����������� ������������������  AND����������� ������������������  DOESN’T����������� ������������������  MANAGE

myObj msg

MyClass *myObj = [[MyClass alloc] init];

strong references

NSString *msg = [NSString stringWithFormat:@"Hello"];

Page 34: iOS 5 & Xcode 4: ARC, Stroryboards

WHAT����������� ������������������  ARC����������� ������������������  DOES����������� ������������������  AND����������� ������������������  DOESN’T����������� ������������������  MANAGE

myObj msg

MyClass *myObj = [[MyClass alloc] init];

strong references

NSString *msg = [NSString stringWithFormat:@"Hello"];

Page 35: iOS 5 & Xcode 4: ARC, Stroryboards

WHAT����������� ������������������  ARC����������� ������������������  DOES����������� ������������������  AND����������� ������������������  DOESN’T����������� ������������������  MANAGE

myObj msg

MyClass *myObj = [[MyClass alloc] init];

strong references

NSString *msg = [NSString stringWithFormat:@"Hello"]; msg = nil;

Page 36: iOS 5 & Xcode 4: ARC, Stroryboards

WHAT����������� ������������������  ARC����������� ������������������  DOES����������� ������������������  AND����������� ������������������  DOESN’T����������� ������������������  MANAGE

NSString *msg = [NSString stringWithFormat:@"Hello"]; msg = nil;

Page 37: iOS 5 & Xcode 4: ARC, Stroryboards

ARC����������� ������������������  IS����������� ������������������  NOT����������� ������������������  GABAGE����������� ������������������  COLLECTION

Page 38: iOS 5 & Xcode 4: ARC, Stroryboards

ARC����������� ������������������  IS����������� ������������������  NOT����������� ������������������  GABAGE����������� ������������������  COLLECTION

GARBAGE COLLECTION

runtime

requires garbage collector

nondeterministic

Page 39: iOS 5 & Xcode 4: ARC, Stroryboards

ARC����������� ������������������  IS����������� ������������������  NOT����������� ������������������  GABAGE����������� ������������������  COLLECTION

GARBAGE COLLECTION

runtime

requires garbage collector

nondeterministic

ARC

compile-time

no charge to runtime model

predictable

Page 40: iOS 5 & Xcode 4: ARC, Stroryboards

THE����������� ������������������  RULE����������� ������������������  OF����������� ������������������  ARC

Page 41: iOS 5 & Xcode 4: ARC, Stroryboards

#1:����������� ������������������  DON’T����������� ������������������  CALL����������� ������������������  MEMORY����������� ������������������  MANAGEMENT����������� ������������������  METHOD

Page 42: iOS 5 & Xcode 4: ARC, Stroryboards

#1:����������� ������������������  DON’T����������� ������������������  CALL����������� ������������������  MEMORY����������� ������������������  MANAGEMENT����������� ������������������  METHOD

no retain

Page 43: iOS 5 & Xcode 4: ARC, Stroryboards

#1:����������� ������������������  DON’T����������� ������������������  CALL����������� ������������������  MEMORY����������� ������������������  MANAGEMENT����������� ������������������  METHOD

no retainno releaseno autorelease

Page 44: iOS 5 & Xcode 4: ARC, Stroryboards

#1:����������� ������������������  DON’T����������� ������������������  CALL����������� ������������������  MEMORY����������� ������������������  MANAGEMENT����������� ������������������  METHOD

no retainno releaseno autoreleaseno retainCount

Page 45: iOS 5 & Xcode 4: ARC, Stroryboards

#1:����������� ������������������  DON’T����������� ������������������  CALL����������� ������������������  MEMORY����������� ������������������  MANAGEMENT����������� ������������������  METHOD

no retainno releaseno autoreleaseno retainCountno dealloc

- (void)dealloc { [imageIcon release]; [name release]; [price release]; [super dealloc]; }

Page 46: iOS 5 & Xcode 4: ARC, Stroryboards

#1:����������� ������������������  DON’T����������� ������������������  CALL����������� ������������������  MEMORY����������� ������������������  MANAGEMENT����������� ������������������  METHOD

no retainno releaseno autoreleaseno retainCountno dealloc

Page 47: iOS 5 & Xcode 4: ARC, Stroryboards

#2:����������� ������������������  DON’T����������� ������������������  USE����������� ������������������  NSAUTORELEASEPOOL����������� ������������������  

Page 48: iOS 5 & Xcode 4: ARC, Stroryboards

#2:����������� ������������������  DON’T����������� ������������������  USE����������� ������������������  NSAUTORELEASEPOOL����������� ������������������  

NSAutoReleasePool����������� ������������������  replaced����������� ������������������  by����������� ������������������  @autoreleasepool����������� ������������������  block����������� ������������������  

Page 49: iOS 5 & Xcode 4: ARC, Stroryboards

#2:����������� ������������������  DON’T����������� ������������������  USE����������� ������������������  NSAUTORELEASEPOOL����������� ������������������  

NSAutoReleasePool����������� ������������������  replaced����������� ������������������  by����������� ������������������  @autoreleasepool����������� ������������������  block����������� ������������������  

int main(int argc, char *argv[]) { NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; int retVal = UIApplicationMain(argc, argv, nil, nil); [pool release]; return retVal; }

Page 50: iOS 5 & Xcode 4: ARC, Stroryboards

#2:����������� ������������������  DON’T����������� ������������������  USE����������� ������������������  NSAUTORELEASEPOOL����������� ������������������  

NSAutoReleasePool����������� ������������������  replaced����������� ������������������  by����������� ������������������  @autoreleasepool����������� ������������������  block����������� ������������������  

int main(int argc, char *argv[]) { NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; int retVal = UIApplicationMain(argc, argv, nil, nil); [pool release]; return retVal; }

Page 51: iOS 5 & Xcode 4: ARC, Stroryboards

#2:����������� ������������������  DON’T����������� ������������������  USE����������� ������������������  NSAUTORELEASEPOOL����������� ������������������  

NSAutoReleasePool����������� ������������������  replaced����������� ������������������  by����������� ������������������  @autoreleasepool����������� ������������������  block����������� ������������������  

int main(int argc, char *argv[]) { @autoreleasepool { return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); } }

Page 52: iOS 5 & Xcode 4: ARC, Stroryboards

#3:����������� ������������������  NO����������� ������������������  OBJECT����������� ������������������  REFERENCES����������� ������������������  IN����������� ������������������  C����������� ������������������  STRUCTS

Page 53: iOS 5 & Xcode 4: ARC, Stroryboards

#3:����������� ������������������  NO����������� ������������������  OBJECT����������� ������������������  REFERENCES����������� ������������������  IN����������� ������������������  C����������� ������������������  STRUCTS

struct myStruct { int amount; NSString *name; };

Page 54: iOS 5 & Xcode 4: ARC, Stroryboards

#3:����������� ������������������  NO����������� ������������������  OBJECT����������� ������������������  REFERENCES����������� ������������������  IN����������� ������������������  C����������� ������������������  STRUCTS

struct myStruct { int amount; NSString *name; };

Page 55: iOS 5 & Xcode 4: ARC, Stroryboards

#4:����������� ������������������  NO����������� ������������������  CASUAL����������� ������������������  CASTING����������� ������������������  BETWEEN����������� ������������������  ID����������� ������������������  AND����������� ������������������  VOID*

Page 56: iOS 5 & Xcode 4: ARC, Stroryboards

#4:����������� ������������������  NO����������� ������������������  CASUAL����������� ������������������  CASTING����������� ������������������  BETWEEN����������� ������������������  ID����������� ������������������  AND����������� ������������������  VOID*

NSString *myString = (NSString *) myCFRef; !!!CFStringRef myNewCFRef = (CFStringRef) myObj;

Page 57: iOS 5 & Xcode 4: ARC, Stroryboards

#4:����������� ������������������  NO����������� ������������������  CASUAL����������� ������������������  CASTING����������� ������������������  BETWEEN����������� ������������������  ID����������� ������������������  AND����������� ������������������  VOID*

NSString *myString = (NSString *) myCFRef; !!!CFStringRef myNewCFRef = (CFStringRef) myObj;

Page 58: iOS 5 & Xcode 4: ARC, Stroryboards

#4:����������� ������������������  NO����������� ������������������  CASUAL����������� ������������������  CASTING����������� ������������������  BETWEEN����������� ������������������  ID����������� ������������������  AND����������� ������������������  VOID*

NSString *myString = (NSString *) myCFRef; !!!CFStringRef myNewCFRef = (CFStringRef) myObj;

Page 59: iOS 5 & Xcode 4: ARC, Stroryboards

#4:����������� ������������������  NO����������� ������������������  CASUAL����������� ������������������  CASTING����������� ������������������  BETWEEN����������� ������������������  ID����������� ������������������  AND����������� ������������������  VOID*

NSString *myString = (__bridge_transfer NSString *) myCFRef; !!!CFStringRef myNewCFRef = (__bridge_retained CFStringRef) myObj;

Page 60: iOS 5 & Xcode 4: ARC, Stroryboards

OTHER����������� ������������������  RULES

Page 61: iOS 5 & Xcode 4: ARC, Stroryboards

OTHER����������� ������������������  RULES

no NSZone no NSAllocateObject no NSDeallocateObject

Page 62: iOS 5 & Xcode 4: ARC, Stroryboards

USING����������� ������������������  WEAK����������� ������������������  REFERENCES

Page 63: iOS 5 & Xcode 4: ARC, Stroryboards

OBJECT����������� ������������������  GRAPHS

Page 64: iOS 5 & Xcode 4: ARC, Stroryboards

OBJECT����������� ������������������  GRAPHS

MyObjectA

C NSDateNSString NSArray

NSStringNSString NSString

B C

Page 65: iOS 5 & Xcode 4: ARC, Stroryboards

RETAIN����������� ������������������  CYCLES

strong referencesweak references

Page 66: iOS 5 & Xcode 4: ARC, Stroryboards

RETAIN����������� ������������������  CYCLES

Button A

strong referencesweak references

Page 67: iOS 5 & Xcode 4: ARC, Stroryboards

RETAIN����������� ������������������  CYCLES

Button A

B

strong referencesweak references

Page 68: iOS 5 & Xcode 4: ARC, Stroryboards

RETAIN����������� ������������������  CYCLES

Button A

B

Cstrong referencesweak references

Page 69: iOS 5 & Xcode 4: ARC, Stroryboards

RETAIN����������� ������������������  CYCLES

Button A

B

C

1

2

1strong referencesweak references

Page 70: iOS 5 & Xcode 4: ARC, Stroryboards

RETAIN����������� ������������������  CYCLES

Button A

B

C

1

2

1strong referencesweak references

Page 71: iOS 5 & Xcode 4: ARC, Stroryboards

RETAIN����������� ������������������  CYCLES

Button A

B

C

1

2

1strong referencesweak references

Page 72: iOS 5 & Xcode 4: ARC, Stroryboards

RETAIN����������� ������������������  CYCLES

A

B

C

1

2

1strong referencesweak references

Page 73: iOS 5 & Xcode 4: ARC, Stroryboards

RETAIN����������� ������������������  CYCLES

A

B

C

2

1strong referencesweak references

0

Page 74: iOS 5 & Xcode 4: ARC, Stroryboards

RETAIN����������� ������������������  CYCLES

B

C

2

1strong referencesweak references

Page 75: iOS 5 & Xcode 4: ARC, Stroryboards

RETAIN����������� ������������������  CYCLES

B

C 1strong referencesweak references

1

Page 76: iOS 5 & Xcode 4: ARC, Stroryboards

RETAIN����������� ������������������  CYCLES

B

C 1strong referencesweak references

1

Page 77: iOS 5 & Xcode 4: ARC, Stroryboards

WEAK����������� ������������������  REFERENCES

SomeObject *myParent = parentRef;

Page 78: iOS 5 & Xcode 4: ARC, Stroryboards

WEAK����������� ������������������  REFERENCES

SomeObject *myParent = parentRef;__weak

Page 79: iOS 5 & Xcode 4: ARC, Stroryboards

WEAK����������� ������������������  REFERENCES

SomeObject *myParent = parentRef;__weak

@property (weak) IBOutlet UILabel *myLabel; !@property (strong) NSString *myProperty;

Page 80: iOS 5 & Xcode 4: ARC, Stroryboards

RETAIN����������� ������������������  CYCLES

Button A

B

Cstrong referencesweak references

Page 81: iOS 5 & Xcode 4: ARC, Stroryboards

RETAIN����������� ������������������  CYCLES

Button A

B

Cstrong referencesweak references

Page 82: iOS 5 & Xcode 4: ARC, Stroryboards

RETAIN����������� ������������������  CYCLES

A

B

Cstrong referencesweak references

Page 83: iOS 5 & Xcode 4: ARC, Stroryboards

RETAIN����������� ������������������  CYCLES

B

Cstrong referencesweak references

Page 84: iOS 5 & Xcode 4: ARC, Stroryboards

RETAIN����������� ������������������  CYCLES

Cstrong referencesweak references

Page 85: iOS 5 & Xcode 4: ARC, Stroryboards

RETAIN����������� ������������������  CYCLES

strong referencesweak references

Page 86: iOS 5 & Xcode 4: ARC, Stroryboards

WEAK����������� ������������������  REFERENCES

Button A

B

Cstrong referencesweak references

Page 87: iOS 5 & Xcode 4: ARC, Stroryboards

WEAK����������� ������������������  REFERENCES

Button A

B

Cstrong referencesweak references

zeroing weak references

Page 88: iOS 5 & Xcode 4: ARC, Stroryboards

WEAK����������� ������������������  REFERENCES

Button A

B

Cstrong referencesweak references

zeroing weak references

someVar

Page 89: iOS 5 & Xcode 4: ARC, Stroryboards

WEAK����������� ������������������  REFERENCES

zeroing weak references

someVar

Page 90: iOS 5 & Xcode 4: ARC, Stroryboards

WEAK����������� ������������������  REFERENCES

zeroing weak references

someVarnil

Page 91: iOS 5 & Xcode 4: ARC, Stroryboards

ARC����������� ������������������  REFERENCES

Page 92: iOS 5 & Xcode 4: ARC, Stroryboards

ARC����������� ������������������  REFERENCES

Transitioning to ARC Release Noteshttp://developer.apple.com/library/ios/#releasenotes/ObjectiveC/RN-TransitioningToARC/_index.html����������� ������������������  

����������� ������������������  ����������� ������������������  ����������� ������������������  ����������� ������������������  ����������� ������������������  =>����������� ������������������  Common Issues While Converting a Project����������� ������������������  !Xcode����������� ������������������  4.x����������� ������������������  >����������� ������������������  Organizer����������� ������������������  >����������� ������������������  Documentation����������� ������������������  >����������� ������������������  iOS����������� ������������������  5.0����������� ������������������  Library����������� ������������������  >����������� ������������������  Tools����������� ������������������  &����������� ������������������  Languages����������� ������������������  >����������� ������������������  Objective-C����������� ������������������  >����������� ������������������  Transitioning����������� ������������������  to����������� ������������������  ARC����������� ������������������  Release����������� ������������������  Notes����������� ������������������  

����������� ������������������  ����������� ������������������  ����������� ������������������  ����������� ������������������  ����������� ������������������  =>����������� ������������������  Common Issues While Converting a Project

Page 93: iOS 5 & Xcode 4: ARC, Stroryboards

USING����������� ������������������  STORYBOARDS

Page 94: iOS 5 & Xcode 4: ARC, Stroryboards

STORYBOARDS

Page 95: iOS 5 & Xcode 4: ARC, Stroryboards

STORYBOARDS

Page 96: iOS 5 & Xcode 4: ARC, Stroryboards

ONE����������� ������������������  STORYBOARD����������� ������������������  PER����������� ������������������  APP

Page 97: iOS 5 & Xcode 4: ARC, Stroryboards

ONE����������� ������������������  STORYBOARD����������� ������������������  PER����������� ������������������  APP

Page 98: iOS 5 & Xcode 4: ARC, Stroryboards

ONE����������� ������������������  STORYBOARD����������� ������������������  PER����������� ������������������  APP

Page 99: iOS 5 & Xcode 4: ARC, Stroryboards

SCENES����������� ������������������  AND����������� ������������������  SEGUES

Page 100: iOS 5 & Xcode 4: ARC, Stroryboards

SCENES����������� ������������������  AND����������� ������������������  SEGUES

scene scene

Page 101: iOS 5 & Xcode 4: ARC, Stroryboards

SCENES����������� ������������������  AND����������� ������������������  SEGUES

scene scene

segue

Page 102: iOS 5 & Xcode 4: ARC, Stroryboards

NEW����������� ������������������  IN����������� ������������������  UIVIEWCONTROLLER

prepareForSegue:sender

Page 103: iOS 5 & Xcode 4: ARC, Stroryboards

DemoStoryboardExample

Page 104: iOS 5 & Xcode 4: ARC, Stroryboards

1:����������� ������������������  CREATE����������� ������������������  THE����������� ������������������  STORYBOARD

Page 105: iOS 5 & Xcode 4: ARC, Stroryboards

1:����������� ������������������  CREATE����������� ������������������  THE����������� ������������������  STORYBOARD

Page 106: iOS 5 & Xcode 4: ARC, Stroryboards

2:����������� ������������������  CREATE����������� ������������������  CUSTOM����������� ������������������  CLASS

Page 107: iOS 5 & Xcode 4: ARC, Stroryboards

2:����������� ������������������  CREATE����������� ������������������  CUSTOM����������� ������������������  CLASS

#import <Foundation/Foundation.h> !@interface Photo : NSObject !@property (nonatomic, strong) NSString *name; @property (nonatomic, strong) NSString *filename; @property (nonatomic, strong) NSString *notes; !@end

Page 108: iOS 5 & Xcode 4: ARC, Stroryboards

3:����������� ������������������  ADD����������� ������������������  CUSTOM����������� ������������������  VIEW����������� ������������������  CONTROLLER����������� ������������������  CLASSES

Page 109: iOS 5 & Xcode 4: ARC, Stroryboards

3:����������� ������������������  ADD����������� ������������������  CUSTOM����������� ������������������  VIEW����������� ������������������  CONTROLLER����������� ������������������  CLASSES

Page 110: iOS 5 & Xcode 4: ARC, Stroryboards

4:����������� ������������������  LOAD����������� ������������������  THE����������� ������������������  DATA

Page 111: iOS 5 & Xcode 4: ARC, Stroryboards

4:����������� ������������������  LOAD����������� ������������������  THE����������� ������������������  DATA

Page 112: iOS 5 & Xcode 4: ARC, Stroryboards

5:����������� ������������������  PASS����������� ������������������  THE����������� ������������������  OBJECT����������� ������������������  BETWEEN����������� ������������������  SCENES

Page 113: iOS 5 & Xcode 4: ARC, Stroryboards

5:����������� ������������������  PASS����������� ������������������  THE����������� ������������������  OBJECT����������� ������������������  BETWEEN����������� ������������������  SCENES

photo

Page 114: iOS 5 & Xcode 4: ARC, Stroryboards

DemoPassingPhotoData

Page 115: iOS 5 & Xcode 4: ARC, Stroryboards

ADDITIONAL����������� ������������������  FEATURES

Page 116: iOS 5 & Xcode 4: ARC, Stroryboards

ADDITIONAL����������� ������������������  FEATURES

Page 117: iOS 5 & Xcode 4: ARC, Stroryboards

ADDITIONAL����������� ������������������  FEATURES

iCloud

Newsstand

Twitter Integration

Page 118: iOS 5 & Xcode 4: ARC, Stroryboards

ADDITIONAL����������� ������������������  FEATURES

iCloud

Newsstand

Twitter Integration

UIStepper

Page 119: iOS 5 & Xcode 4: ARC, Stroryboards

ADDITIONAL����������� ������������������  FEATURES

iCloud

Newsstand

Twitter Integration

UIStepper

UIPageViewController

Page 120: iOS 5 & Xcode 4: ARC, Stroryboards

ADDITIONAL����������� ������������������  FEATURES

iCloud

Newsstand

Twitter Integration

UIStepper

UIPageViewController

Page 121: iOS 5 & Xcode 4: ARC, Stroryboards

ADDITIONAL����������� ������������������  FEATURES

UIAlertViewStyle����������� ������������������  

Page 122: iOS 5 & Xcode 4: ARC, Stroryboards

ADDITIONAL����������� ������������������  FEATURES

UIAlertViewStyle����������� ������������������  

Page 123: iOS 5 & Xcode 4: ARC, Stroryboards

ADDITIONAL����������� ������������������  FEATURES

UIAlertViewStyle����������� ������������������  

Page 124: iOS 5 & Xcode 4: ARC, Stroryboards

ADDITIONAL����������� ������������������  FEATURES

UIAlertViewStyle����������� ������������������  

Page 125: iOS 5 & Xcode 4: ARC, Stroryboards

감사합니다.����������� ������������������  !

@neoroman