Я знаю что JavaScript, например, функции поддержек в функциях, как так:
function doSomething(){
function doAnothingThing(){
//this function is redefined every time doSomething() is called and only exists inside doSomething()
}
//you can also stick it inside of conditions
if(yes){
function doSomethingElse(){
//this function only exists if yes is true
}
}
}
Цель-c поддерживает это? Теоретический пример:
-(void) doSomething:(id) sender{
-(void) respondToEvent: (id) sender{
//theoretically? ... please?
}
}
ПРЕМИЯ: Каков надлежащий термин для "локальной" функции?
Обычный термин - вложенная функция. gcc поддерживает вложенные функции как расширение C (по умолчанию отключено). Я не думаю, что эта возможность доступна для Objective-C (или C++) с gcc, хотя, даже если бы она была, вероятно, не стоит ее использовать (переносимость и т.д.).
По умолчанию Xcode запрещает вложенные функции.
Если вы хотите включить их, откройте информацию о своем проекте, перейдите на вкладку «Сборка» и установите для параметра «Другие флаги C» (в разделе «GCC 4.2 - Язык») значение «-fnested-functions». ".
(Это хранится в вашем файле project.pbxproj как "OTHER_CFLAGS =" -fnested-functions ";"