2013-09-26 3 views
0

Я добавляю некоторые новый код существующего приложения и начал создавать новый метод -Почему Xcode запрашивает этот метод?

- (void)removeAnnotationCurtain 

Как только я напечатал «удалить» редактор Xcode побудил меня на кучу remove методов, в том числе removeAnnotationCurtain:(NSSet*) и removeAnnotationCurtainAtIndexes:(NSIndexSet*). Также в списке были аналогично названы методы для (по-видимому) всех других свойств, определенных в классе. (И нет, они не определены нигде в проекте.)

Я признаю, что не угнался за всеми последними вещами, но я никогда не слышал об этих методах раньше. Это что-то вроде KVC?

(Для тех, кто любит прыгать на xcode теге, я полагаю, его использование является оправданным, потому что я вижу, этот симптом при редактировании в Xcode.)

+0

Это просто автозаполнение, предполагающее догадки. Если методы не находятся в вашем приложении, то они, вероятно, находятся в SDK (для них поиск документации SDK) или в сторонней структуре, которую вы включили (см. Их документацию). – BergQuester

+0

Как я уже сказал, есть методы для каждого свойства в классе. Я не думаю, что в SDK есть метод с именем «caliperStoreNameTextBoxAtIndexes». –

ответ

2

Да, это КВЦ вещь. Это KVC To-Many methods. Я предполагаю, что у вас есть свойство под названием annotationCurtain? Вы получите аналогичное поведение, если вы запустите -(void)insert... или -(void)add....

Xcode, похоже, не заботится о том, каков тип объекта. Это еще не так уж хорошо.

Смежные вопросы