SlideShare a Scribd company logo
1 of 34
Download to read offline
ARC of a Developer Part.2




11   11   22
CoreFoundation

          •C




                                      Quartz
               CoreFoundation         CGxx
                    CFxx


                                CoreAudio



11   11   22
Cocoa CoreFoundation

          •    Cocoa              CoreFoundation


          • NSString -> NSCFString -> CFString




11   11   22
Toll-free Bridge

          • Cocoa            0   CoreFoundation




11   11   22
CF

          • CoreFoundation


          • Cocoa CoreFoundation




               CoreFoundation       Cocoa
                  CFString         NSString




11   11   22
id    Void *


               id obj = [[NSObject alloc]init];
               void *p = obj;

               id o = p;
               [o release];



           ARC



11   11   22
ARC          id -> Void *

          •




               [super didReceiveMemoryWarning];
               id obj = [[NSObject alloc]init];
               void *p = (__bridge void *)obj;

               id o = (__bridge id) p;




11   11   22
• __bridge


          • __bridge_retained


          • __bridge_transfar




11   11   22
__bridge

          •


          • __unsafe_unretained


                  void *p;

                  {
                       id obj = [[NSObject alloc]init];
                       p = (__bridge void *)obj;
                  }
                  //       p




11   11   22
__bridge_retained

          •


               void *p;

               {
                    id obj = [[NSObject alloc]init];
                    p = (__bridge_retained void *)obj;
               }

               //      p
               CFRelease(p);




11   11   22
__bridge_transfar

          •


          •

               CFStringRef p;

               {
                   id obj = [[NSObject alloc]init];
                   p = (__bridge_retained CFStringRef)obj;
               }

               id obj2 = (__bridge_transfer id)p;




11   11   22
CFBridgingRetain CFBridgingRelease

          •

     NS_INLINE CF_RETURNS_RETAINED CFTypeRef CFBridgingRetain(id X) {
         return (__bridge_retained CFTypeRef)X;
     }

     NS_INLINE id CFBridgingRelease(CFTypeRef CF_CONSUMED X) {
         return (__bridge_transfer id)X;
     }


          • CFBridgingRetain __bridge_retained


          • CGBridgingRelease __bridge_transfer




11   11   22
CF

          • CoreFoundation


          •      ARC




11   11   22
Blocks ARC

          •


          •




11   11   22
Git




11   11   22
•


               •


               •




11   11   22
• CVS


          • Subversion


          • Visual Source Safe


          • Git




11   11   22
Git

          •


          • Linux    Linus Torvalds


          •


          •


          • Xcode4




11   11   22
•


               • CVS


               •


          •


               •


               •



11   11   22
checkin   checkout




11   11   22
sync




11   11   22
Git

          •


               •


               •          Sync


          •        Sync


          •




11   11   22
•


               •


               •




11   11   22
Git

          •


               •


          •




11   11   22
A                                                                                             B



          !    touchView = [[TouchDetectView alloc]initWithFrame:mapView.frame];
          !    [self.view insertSubview:touchView atIndex:0];
          !    touchView.delegate = self;
          !    touchView.viewTouched = mapView;
          !    mapView.frame = CGRectMake(0, 0, mapView.frame.size.width, mapView.frame.size.height);
          !    [touchView addSubview:mapView];
          !    mapView.showsUserLocation = NO;




11   11   22
A                                                                                             B



          !    touchView = [[TouchDetectView alloc]initWithFrame:mapView.frame];
          !    [self.view insertSubview:touchView atIndex:0];
          !    touchView.delegate = self;
          !    touchView.viewTouched = mapView;
          !    mapView.frame = CGRectMake(0, 0, mapView.frame.size.width, mapView.frame.size.height);
          !    [touchView addSubview:mapView];




          !    mapView.showsUserLocation = NO;




11   11   22
A                                B




               !   touchView = [[TouchDetectView alloc]initWithFrame:mapView.frame];
               !   [self.view insertSubview:touchView atIndex:0];
               !   touchView.delegate = self;
               !   touchView.viewTouched = mapView;
               !   mapView.frame = CGRectMake(0, 0, mapView.frame.size.width, mapView.frame.size.he
               !   [touchView addSubview:mapView];
               !   mapView.showsUserLocation = NO;




11   11   22
A                                                                            B


               !   touchView = [[TouchDetectView alloc]initWithFrame:mapView.frame];
               !   [self.view insertSubview:touchView atIndex:0];
               !   touchView.delegate = self;
               !   touchView.viewTouched = mapView;
               !   mapView.frame = CGRectMake(0, 0, mapView.frame.size.width, mapView.frame.size.height);
               !   [touchView addSubview:mapView];




               !   mapView.showsUserLocation = NO;




11   11   22
• Github for Mac




11   11   22
•


               •




11   11   22
•


          •    Pull   w




11   11   22
GitHub

          • Git


          •


          •




11   11   22
Github Enterprise




11   11   22
11   11   22

More Related Content

Viewers also liked

Working With Therapeutic Program Parents
Working With Therapeutic Program ParentsWorking With Therapeutic Program Parents
Working With Therapeutic Program Parentsjudgeforteens
 
การสร้าง organization charts
การสร้าง organization chartsการสร้าง organization charts
การสร้าง organization chartsPhanupong Rong-o
 
เทคนิคการทำPs
เทคนิคการทำPsเทคนิคการทำPs
เทคนิคการทำPsPhanupong Rong-o
 
Programação para dispositivos móveis com PhoneGap Cordova
Programação para dispositivos móveis com PhoneGap CordovaProgramação para dispositivos móveis com PhoneGap Cordova
Programação para dispositivos móveis com PhoneGap CordovaEvandro Júnior
 
Antimalarial drug efficacy and drug resistance(yemen)
Antimalarial drug efficacy and drug resistance(yemen)Antimalarial drug efficacy and drug resistance(yemen)
Antimalarial drug efficacy and drug resistance(yemen)Ghamdan Al Tahish
 
Logica de programação / Algoritmos em Portugol
Logica de programação / Algoritmos em PortugolLogica de programação / Algoritmos em Portugol
Logica de programação / Algoritmos em PortugolEvandro Júnior
 

Viewers also liked (11)

Working With Therapeutic Program Parents
Working With Therapeutic Program ParentsWorking With Therapeutic Program Parents
Working With Therapeutic Program Parents
 
Tuesday
TuesdayTuesday
Tuesday
 
Sample Selection of Styles
Sample Selection of StylesSample Selection of Styles
Sample Selection of Styles
 
Apple Inc
Apple IncApple Inc
Apple Inc
 
การสร้าง organization charts
การสร้าง organization chartsการสร้าง organization charts
การสร้าง organization charts
 
เทคนิคการทำPs
เทคนิคการทำPsเทคนิคการทำPs
เทคนิคการทำPs
 
Programação para dispositivos móveis com PhoneGap Cordova
Programação para dispositivos móveis com PhoneGap CordovaProgramação para dispositivos móveis com PhoneGap Cordova
Programação para dispositivos móveis com PhoneGap Cordova
 
Antimalarial drug efficacy and drug resistance(yemen)
Antimalarial drug efficacy and drug resistance(yemen)Antimalarial drug efficacy and drug resistance(yemen)
Antimalarial drug efficacy and drug resistance(yemen)
 
Logica de programação / Algoritmos em Portugol
Logica de programação / Algoritmos em PortugolLogica de programação / Algoritmos em Portugol
Logica de programação / Algoritmos em Portugol
 
Burkholderia spp.
Burkholderia spp.Burkholderia spp.
Burkholderia spp.
 
Styles
StylesStyles
Styles
 

Similar to Arc of developer part2

UIViewControllerのコーナーケース
UIViewControllerのコーナーケースUIViewControllerのコーナーケース
UIViewControllerのコーナーケースKatsumi Kishikawa
 
storyboard時代のInterfaceBuilder
storyboard時代のInterfaceBuilderstoryboard時代のInterfaceBuilder
storyboard時代のInterfaceBuilderHiroyuki Fujikawa
 
Introduction into JavaFX
Introduction into JavaFXIntroduction into JavaFX
Introduction into JavaFXEugene Bogaart
 
iPhone/iPad开发讲座 第五讲 定制视图和多点触摸
iPhone/iPad开发讲座 第五讲 定制视图和多点触摸iPhone/iPad开发讲座 第五讲 定制视图和多点触摸
iPhone/iPad开发讲座 第五讲 定制视图和多点触摸Hao Peiqiang
 
Quick Start to iOS Development
Quick Start to iOS DevelopmentQuick Start to iOS Development
Quick Start to iOS DevelopmentJussi Pohjolainen
 
CocoaHeads Toulouse - Guillaume Cerquant - UIView
CocoaHeads Toulouse - Guillaume Cerquant - UIViewCocoaHeads Toulouse - Guillaume Cerquant - UIView
CocoaHeads Toulouse - Guillaume Cerquant - UIViewCocoaHeads France
 
用 IBDesignable 作 UI
用 IBDesignable 作 UI用 IBDesignable 作 UI
用 IBDesignable 作 UITsungyu Yu
 
iOS Beginners Lesson 4
iOS Beginners Lesson 4iOS Beginners Lesson 4
iOS Beginners Lesson 4Calvin Cheng
 
漫游iOS开发指南
漫游iOS开发指南漫游iOS开发指南
漫游iOS开发指南jeff kit
 
iOS Development: What's New
iOS Development: What's NewiOS Development: What's New
iOS Development: What's NewNascentDigital
 
Our Choice:电子书的新交互方式探讨
Our Choice:电子书的新交互方式探讨Our Choice:电子书的新交互方式探讨
Our Choice:电子书的新交互方式探讨foxgem
 
New to native? Getting Started With iOS Development
New to native?   Getting Started With iOS DevelopmentNew to native?   Getting Started With iOS Development
New to native? Getting Started With iOS DevelopmentGeoffrey Goetz
 
Tools and practices for rapid application development
Tools and practices for rapid application developmentTools and practices for rapid application development
Tools and practices for rapid application developmentZoltán Váradi
 
iOS: Implementing a Custom View
iOS: Implementing a Custom ViewiOS: Implementing a Custom View
iOS: Implementing a Custom ViewJussi Pohjolainen
 

Similar to Arc of developer part2 (20)

UIViewControllerのコーナーケース
UIViewControllerのコーナーケースUIViewControllerのコーナーケース
UIViewControllerのコーナーケース
 
iOS
iOSiOS
iOS
 
storyboard時代のInterfaceBuilder
storyboard時代のInterfaceBuilderstoryboard時代のInterfaceBuilder
storyboard時代のInterfaceBuilder
 
Introduction into JavaFX
Introduction into JavaFXIntroduction into JavaFX
Introduction into JavaFX
 
Swift for-rubyists
Swift for-rubyistsSwift for-rubyists
Swift for-rubyists
 
Iphone course 2
Iphone course 2Iphone course 2
Iphone course 2
 
iPhone/iPad开发讲座 第五讲 定制视图和多点触摸
iPhone/iPad开发讲座 第五讲 定制视图和多点触摸iPhone/iPad开发讲座 第五讲 定制视图和多点触摸
iPhone/iPad开发讲座 第五讲 定制视图和多点触摸
 
I os 11
I os 11I os 11
I os 11
 
Quick Start to iOS Development
Quick Start to iOS DevelopmentQuick Start to iOS Development
Quick Start to iOS Development
 
CocoaHeads Toulouse - Guillaume Cerquant - UIView
CocoaHeads Toulouse - Guillaume Cerquant - UIViewCocoaHeads Toulouse - Guillaume Cerquant - UIView
CocoaHeads Toulouse - Guillaume Cerquant - UIView
 
用 IBDesignable 作 UI
用 IBDesignable 作 UI用 IBDesignable 作 UI
用 IBDesignable 作 UI
 
Core animation
Core animationCore animation
Core animation
 
iOS Beginners Lesson 4
iOS Beginners Lesson 4iOS Beginners Lesson 4
iOS Beginners Lesson 4
 
漫游iOS开发指南
漫游iOS开发指南漫游iOS开发指南
漫游iOS开发指南
 
iOS Development: What's New
iOS Development: What's NewiOS Development: What's New
iOS Development: What's New
 
Our Choice:电子书的新交互方式探讨
Our Choice:电子书的新交互方式探讨Our Choice:电子书的新交互方式探讨
Our Choice:电子书的新交互方式探讨
 
New to native? Getting Started With iOS Development
New to native?   Getting Started With iOS DevelopmentNew to native?   Getting Started With iOS Development
New to native? Getting Started With iOS Development
 
Tools and practices for rapid application development
Tools and practices for rapid application developmentTools and practices for rapid application development
Tools and practices for rapid application development
 
iOS: Implementing a Custom View
iOS: Implementing a Custom ViewiOS: Implementing a Custom View
iOS: Implementing a Custom View
 
Onsg11 iphone
Onsg11 iphoneOnsg11 iphone
Onsg11 iphone
 

Recently uploaded

New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 

Recently uploaded (20)

New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 

Arc of developer part2

  • 1. ARC of a Developer Part.2 11 11 22
  • 2. CoreFoundation •C Quartz CoreFoundation CGxx CFxx CoreAudio 11 11 22
  • 3. Cocoa CoreFoundation • Cocoa CoreFoundation • NSString -> NSCFString -> CFString 11 11 22
  • 4. Toll-free Bridge • Cocoa 0 CoreFoundation 11 11 22
  • 5. CF • CoreFoundation • Cocoa CoreFoundation CoreFoundation Cocoa CFString NSString 11 11 22
  • 6. id Void * id obj = [[NSObject alloc]init]; void *p = obj; id o = p; [o release]; ARC 11 11 22
  • 7. ARC id -> Void * • [super didReceiveMemoryWarning]; id obj = [[NSObject alloc]init]; void *p = (__bridge void *)obj; id o = (__bridge id) p; 11 11 22
  • 8. • __bridge • __bridge_retained • __bridge_transfar 11 11 22
  • 9. __bridge • • __unsafe_unretained void *p; { id obj = [[NSObject alloc]init]; p = (__bridge void *)obj; } // p 11 11 22
  • 10. __bridge_retained • void *p; { id obj = [[NSObject alloc]init]; p = (__bridge_retained void *)obj; } // p CFRelease(p); 11 11 22
  • 11. __bridge_transfar • • CFStringRef p; { id obj = [[NSObject alloc]init]; p = (__bridge_retained CFStringRef)obj; } id obj2 = (__bridge_transfer id)p; 11 11 22
  • 12. CFBridgingRetain CFBridgingRelease • NS_INLINE CF_RETURNS_RETAINED CFTypeRef CFBridgingRetain(id X) { return (__bridge_retained CFTypeRef)X; } NS_INLINE id CFBridgingRelease(CFTypeRef CF_CONSUMED X) { return (__bridge_transfer id)X; } • CFBridgingRetain __bridge_retained • CGBridgingRelease __bridge_transfer 11 11 22
  • 13. CF • CoreFoundation • ARC 11 11 22
  • 14. Blocks ARC • • 11 11 22
  • 15. Git 11 11 22
  • 16. • • 11 11 22
  • 17. • CVS • Subversion • Visual Source Safe • Git 11 11 22
  • 18. Git • • Linux Linus Torvalds • • • Xcode4 11 11 22
  • 19. • CVS • • • • 11 11 22
  • 20. checkin checkout 11 11 22
  • 21. sync 11 11 22
  • 22. Git • • • Sync • Sync • 11 11 22
  • 23. • • 11 11 22
  • 24. Git • • • 11 11 22
  • 25. A B ! touchView = [[TouchDetectView alloc]initWithFrame:mapView.frame]; ! [self.view insertSubview:touchView atIndex:0]; ! touchView.delegate = self; ! touchView.viewTouched = mapView; ! mapView.frame = CGRectMake(0, 0, mapView.frame.size.width, mapView.frame.size.height); ! [touchView addSubview:mapView]; ! mapView.showsUserLocation = NO; 11 11 22
  • 26. A B ! touchView = [[TouchDetectView alloc]initWithFrame:mapView.frame]; ! [self.view insertSubview:touchView atIndex:0]; ! touchView.delegate = self; ! touchView.viewTouched = mapView; ! mapView.frame = CGRectMake(0, 0, mapView.frame.size.width, mapView.frame.size.height); ! [touchView addSubview:mapView]; ! mapView.showsUserLocation = NO; 11 11 22
  • 27. A B ! touchView = [[TouchDetectView alloc]initWithFrame:mapView.frame]; ! [self.view insertSubview:touchView atIndex:0]; ! touchView.delegate = self; ! touchView.viewTouched = mapView; ! mapView.frame = CGRectMake(0, 0, mapView.frame.size.width, mapView.frame.size.he ! [touchView addSubview:mapView]; ! mapView.showsUserLocation = NO; 11 11 22
  • 28. A B ! touchView = [[TouchDetectView alloc]initWithFrame:mapView.frame]; ! [self.view insertSubview:touchView atIndex:0]; ! touchView.delegate = self; ! touchView.viewTouched = mapView; ! mapView.frame = CGRectMake(0, 0, mapView.frame.size.width, mapView.frame.size.height); ! [touchView addSubview:mapView]; ! mapView.showsUserLocation = NO; 11 11 22
  • 29. • Github for Mac 11 11 22
  • 30. • 11 11 22
  • 31. • Pull w 11 11 22
  • 32. GitHub • Git • • 11 11 22
  • 34. 11 11 22