Использование переменных-членов-указателей на функции в классе Objective-C

(впервые в Objective-C, но хорошо разбирается в C / C ++).

В настоящее время у меня есть класс Objective-C, и ряд его переменных-членов будет указатели на функции. Эти указатели на функции будут изменены только самим классом, но могут использоваться другими классами.

Я не уверен, как настроить доступ к указанным указателям на функции.

В настоящее время я представляю себе решение объявить указанное указатели на функции @public, что, как я понимаю, позволит мне вызывать их с помощью оператора ->. Мне это кажется довольно неудовлетворительным, поскольку указатели на функции остаются открытыми для вмешательства, и это противоречит звуковому ООП.

Моя следующая склонность - использовать @property и объявить их только для чтения. Этот кажется более разумным. Полагаю, я бы вызвал их с помощью оператора точки, поскольку идея использования геттера для получения указателя функции и последующего его вызова кажется совершенно нелепой.

Можно ли использовать указатели на функции как свойства? Если да, то как я могу объявить их свойствами:

void (*sort)(SET, int) ;
char *(*toASCII)(CARD) ;

У меня такое чувство, что я упускаю небольшой нюанс в объявлении их как свойств.

1
задан John Carter 27 September 2010 в 03:18
поделиться