Учитывая это определение протокола:
@protocol MyProtocol <NSObject>
@property (nonatomic, strong) NSString *someProperty;
@end
Почему Xcode с радостью предложит автозаполнение для этого утверждения:
id<MyProtocol> thing = [ThingManager currentThing];
[thing someProperty]; // Xcode offered autocompletion here
Но он не предлагает автозаполнение, когда я пытаюсь получить доступ к одному и тому же свойству с помощью точечной нотации:
id<MyProtocol> thing = [ThingManager currentThing];
thing.someProperty; // Xcode claimed there were
// "No completions" available
// after the period