InnoDB позволяет Вам добавлять новое ограничение внешнего ключа к таблице при помощи ALTER TABLE:
ALTER TABLE tbl_name
ADD [CONSTRAINT [symbol]] FOREIGN KEY
[index_name] (index_col_name, ...)
REFERENCES tbl_name (index_col_name,...)
[ON DELETE reference_option]
[ON UPDATE reference_option]
, С другой стороны, если бы MyISAM имеет преимущества перед InnoDB в Вашем контексте, почему Вы хотели бы создать ограничения внешнего ключа вообще. Можно обработать это на образцовом уровне приложения. Просто удостоверьтесь столбцы, которые Вы хотите использовать, поскольку внешние ключи индексируются!
Вы передали имя своего подкласса в UIApplicationMain? Предположим, у вас есть
@interface MyUIApp : UIApplication
...
, тогда в main () вы должны сделать:
NSString* appClass = @"MyUIApp";
NSString* delegateClass = nil;
int retVal = UIApplicationMain(argc, argv, appClass, delegateClass);
Убедитесь, что в файле info.plist вашего приложения вы изменили ключ NSPrincipalClass
на имя ваш подкласс. Это заставит Какао создать экземпляр правильного класса при загрузке приложения - вам не нужно делать ничего, кроме этого, чтобы ваш подкласс заработал.