Может возврат; оператор безопасно помещается в любом месте метода, чтобы выйти из метода? Я не смог найти это в Apple docs.
Да, вы можете безопасно вернуться из любого места внутри метода. Например, оператор return в теле условия или цикла не является проблемой. Тем не менее, вы должны быть осторожны, чтобы привести себя в порядок перед возвращением. Это не так важно для ARC, как для ручного управления памятью, но если вы выделили память с помощью malloc()
, вам может потребоваться освободить ее или убедиться, что что-то вне метода имеет ссылку на этот новый блок. Если вы получили какие-либо блокировки, вам, вероятно, нужно снять их. По сути, любые ресурсы, полученные вашим методом, должны быть освобождены или утилизированы до того, как вы вернетесь раньше.
Вам также нужно быть осторожным, чтобы возвращать значение соответствующего типа, если объявлен метод или функция, возвращающая что-то отличное от void
.
Я не смог найти это в документации Apple.
Это потому, что поведение return
унаследовано от C и C ++ - оно не специфично для Apple или Objective-C.