Мне было интересно, выполняет ли цель C какую-либо проверку, чтобы определить, равен ли указатель на объект нулю до вызова функции.
Например, скажем, у меня есть
myObject* ptr;
иинициализируйте
ptr = nil;
и вызовите
[self myFunction:ptr];
, где myFunction - моя собственная функция и не проверяет, равен ли объект нулю.Я где-то слышал, что цель C не будет вызывать функцию, если она равна нулю?Верно ли это и будет ли мой код безопасным?
Причина, по которой я спрашиваю, состоит в том, что я реализую универсальное приложение и имею экземпляр UIView, который будет работать только для ipad.Но я делаю много вызовов функций для этого представления, и вместо того, чтобы проверять состояние, чтобы узнать, является ли это ipad перед вызовом функции, было бы здорово, если бы я мог установить представление как nil, если это iphone.
Кроме того, если разработчик интерфейса выделил объект, и я установил указатель на nil, произойдет ли утечка памяти или сборщик узнает об освобождении объекта?
Спасибо