Так что у меня, кажется, есть спорадическая проблема, которую пока не удалось решить ни одному количеству Google-фу.В кажущихся случайными точках функции просто сломаются, и после некоторой охоты, по-видимому, аргументы начнут повреждаться.
Например
Object * testObject = [[Object alloc] init];
NSLog(@"ID: %d", testObject);
[testFunction:testObject];
...
- (void) testFunction:(id)testObject
{
NSLog(@"ID: %d", testObject);
Когда это произойдет, операторы Log в этом случае потерпят неудачучтобы соответствовать, выдавая мне предупреждения EXC_BAD_ACCESS или другие различные проблемы, когда я собираюсь использовать ссылку, которую я передал.
Иногда я могу исправить проблему, добавив «фиктивное значение» к функции следующим образом:
- (void) testFunction:(id)testObject:(int)dummy
{
и затем вызываем его так:
[testFunction:testObject:1111];
Все объявления моих функций совпадают в файлах .h / .m, единственное, что я могу догадаться, это то, что потенциально в другом месте проектав файлах .h могут отсутствовать соответствующие объявления функций.Однако указанные функции всегда выполняются правильно.(У меня есть двойной, тройной проверил и т. Д.).Я знаю, что это не проблема сохранения / выпуска, хотя я относительно новичок в Objective-C, у меня такой недостаток, и я также проверил его по приборам в поисках утечек, и, похоже, их нет.Есть мысли о том, что может вызвать это, и почему проблемы возникают после изменения, казалось бы, совершенно не связанного кода в другом месте проекта?