The allocation and initialization methods will allocate a chunk of memory to hold the object's content and set an empty value to it, until you assign a value yourself. The empty value differs depending on the object's type: Boolean (BOOL) objects receive the value NO
, integers (int) receive 0
, float numbers (float) receive 0.0
, and the rest of the objects receive nil
.
It's possible to first allocate memory for your object, and later in the code, initialize it, but it's not recommended at all.
On the other hand, you can use or even create what we call convenience initializers, which are initialization methods that receive arguments to assign different and/or additional values for instance variables.
For a better understanding, we will now create our own object class and create convenience initializers to be used in different scenarios. First, we will create a class, inherited from NSObject
. It will return a float number, which is a result of a fraction of a multiplication...