PERFORMANCE DIFFERENCE BETWEEN DOT NOTATION VERSUS METHOD CALL IN OBJECTIVE-C

Tarun Kumar

Total Post:214

Points:1642
Posted by  Tarun Kumar
 842  View(s)
Ratings:
Rate this:

You can use a standard dot notation or a method call in Objective-C to access a property of an object in Objective-C.

myObject.property = YES;

or

[myObject setProperty:YES];

Is there a difference in performance (in terms of accessing the property)? Is it just a matter of preference in terms of coding style?

  1. naomi burke

    Post:28

    Points:196
    Re: Performance difference between dot notation versus method call in Objective-C

    Dot notation for property access in Objective-C is a message send, just as bracket notation. That is, given this:

    Foo *foo = [[Foo alloc] init];

    foo.bar = YES;

    @interface Foo : NSObject

    @property BOOL bar;

    @end

    Foo *foo = [[Foo alloc] init];

    foo.bar = YES;

    foo setBar:YES];

    The last two lines will compile exactly the same. The only thing that changes this is if a property has a getter and/or setter attribute specified; however, all it does is change what message gets sent, not whether a message is sent:

    @interface MyView : NSView
    

    @property(getter=isEmpty) BOOL empty;

    @end

    if ([someView isEmpty]) { /* ... */ }

    if (someView.empty) { /* ... */ }

    Both of the last two lines will compile identically.

     

     

      Modified On Mar-18-2016 11:09:26 PM

Answer

NEWSLETTER

Enter your email address here always to be updated. We promise not to spam!