Given this protocol definition:

@protocol MyProtocol <NSObject>
@property (nonatomic, strong) NSString *someProperty;
@end

Why will Xcode gladly offer autocompletion for this statement:

id<MyProtocol> thing = [ThingManager currentThing];
[thing someProperty]; // Xcode offered autocompletion here

But it doesn't offer autocompletion when I try to access the same property using dot-notation:

id<MyProtocol> thing = [ThingManager currentThing];
thing.someProperty; // Xcode claimed there were 
                    // "No completions" available
                    // after the period
Edit
Report