Что-то не так с простым макросом assert ()? Что-то вроде
assert(pointerToTest != nil);
остановит ваш процесс в этот момент, если условие не выполнено. Если вы работаете в отладчике, вы увидите трассировку стеков вызовов, которые привели к ошибочному утверждению. Если вы хотите запускать его каждый раз, когда нажимаете на определенный путь кода, вы можете сделать
assert(false);
Я считаю эти утверждения чрезвычайно полезными для проверки того, что все IBOutlets не равны нулю, когда окно или представление выводятся из NIB.