Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Conhecendo o ARC

Conhecendo o ARC

Slides mostrados durante a apresentação do primeiro encontro oficial do [Self SP]

Fernando Bass

January 30, 2012
Tweet

More Decks by Fernando Bass

Other Decks in Technology

Transcript

  1. ferbass
    http://www.ferbass.com
    http://www.poisonlabs.com
    twitter: @fer_bass
    twitter: @poisonlabs
    segunda-feira, 30 de janeiro de 12

    View full-size slide

  2. segunda-feira, 30 de janeiro de 12

    View full-size slide

  3. ARC
    Automatic Reference Counting
    segunda-feira, 30 de janeiro de 12

    View full-size slide

  4. Automatic Reference Counting implements automatic
    memory management for Objective-C objects and blocks,
    freeing the programmer from the need explicitly insert
    retains and releases. It does not provide a cycle collector;
    users must explicitly manage lifetime instead.
    segunda-feira, 30 de janeiro de 12

    View full-size slide

  5. Before ARC
    segunda-feira, 30 de janeiro de 12

    View full-size slide

  6. Basic rules
    if you allocate
    NSMutableArray *mutableArr = [[NSMutableArray alloc]
    init];
    [mutableArr addObject:@"first"];
    [mutableArr addObject:@"second"];
    NSLog(@"Itens of array %@", mutableArr);
    [mutableArr release];
    need release
    segunda-feira, 30 de janeiro de 12

    View full-size slide

  7. if not allocate
    NSMutableArray *mutableArr = [NSMutableArray
    arrayWithObjects:@"first",@"second", nil];
    NSLog(@"Itens of array %@", mutableArr);
    Relax, leave to runtime
    segunda-feira, 30 de janeiro de 12

    View full-size slide

  8. After ARC
    segunda-feira, 30 de janeiro de 12

    View full-size slide

  9. but the ARC that's all?
    segunda-feira, 30 de janeiro de 12

    View full-size slide

  10. segunda-feira, 30 de janeiro de 12

    View full-size slide

  11. NO
    segunda-feira, 30 de janeiro de 12

    View full-size slide

  12. The ARC has new rules
    You no longer need dealloc, retain, release, or autorelease retainCount
    @autoreleasepool blocks
    NSZones no more :)
    segunda-feira, 30 de janeiro de 12

    View full-size slide

  13. New Lifetime Qualifiers
    weak
    strong
    __unsafe_unretained
    __autoreleasing
    segunda-feira, 30 de janeiro de 12

    View full-size slide

  14. Setup new application with ARC
    segunda-feira, 30 de janeiro de 12

    View full-size slide

  15. How to migrate my project to use ARC?
    segunda-feira, 30 de janeiro de 12

    View full-size slide

  16. if 3rd party lib don’t suport
    ARC?
    segunda-feira, 30 de janeiro de 12

    View full-size slide

  17. Choose files to use ARC
    segunda-feira, 30 de janeiro de 12

    View full-size slide

  18. Duvidas?
    segunda-feira, 30 de janeiro de 12

    View full-size slide

  19. Obrigado !
    segunda-feira, 30 de janeiro de 12

    View full-size slide