Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

In Objective C, is there a difference between if (object == nil) and if (nil == object)?

I would lean towards

if (object == nil)

but I've noticed in some tutorials the use of

if (nil == object)

Is this just a style thing, or is there some justified rationale for using either format?

like image 210
Bill Avatar asked Dec 17 '22 00:12

Bill


2 Answers

This is typically done to prevent using an assignment operator instead of a comparison operator. If you accidently typed this for instance:

if (object = nil)

It may compile but it isn't what you intended.

By using the second form you will ensure a compile time error if you mistype it, as nil cant be used as the left operand in assignments.

Please note I'm not an objective C programmer, but this question is generic to a lot of languages.

like image 154
Neil Aitken Avatar answered Dec 19 '22 13:12

Neil Aitken


The if (nil == object) version protects you better in case you accidentally put = instead of ==.

like image 36
Jim Avatar answered Dec 19 '22 13:12

Jim