11

What is difference between nil and Nil in iOS development?

And similarly what is difference between true and TRUE in iOS development?

Devang
  • 11,258
  • 13
  • 62
  • 100

2 Answers2

22

I think this will help you understand the difference between nil and Nil.

Please find the below link:

Refer the answer of Damien_The_Unbeliever which states:

Googling "Nil vs nil" found this post http://numbergrinder.com/node/49, which states:

All three of these values represent null, or zero pointer, values. The difference is that while NULL represents zero for any pointer, nil is specific to objects (e.g., id) and Nil is specific to class pointers. It should be considered a best practice of sorts to use the right null object in the right circumstance for documentation purposes, even though there is nothing stopping someone from mixing and matching as they go along.

Link for that answer can be seen here:

What does 'Nil' represent in Obj-C?

EDIT-2:

Is there a difference between YES/NO,TRUE/FALSE and true/false in objective-c?

Community
  • 1
  • 1
Parth Bhatt
  • 19,381
  • 28
  • 133
  • 216
7

nil is the literal null value for Objective-C objects, corresponding to the abstract type id or any Objective-C type declared via @interface. For instance:

NSString *someString = nil;
NSURL *someURL = nil;
id someObject = nil;

if (anotherObject == nil) // do something

Nil is the literal null value for Objective-C classes, corresponding to the type Class. Since most code doesn’t need variables to reference classes, its use is not common. One example is:

 Class someClass = Nil;
 Class anotherClass = [NSString class];
sinh99
  • 3,909
  • 32
  • 32