I am not a fan of the following construction
if (self = [super init])
{
//do something with self assuming it has been created
}
Is the following equivalent?
self = [super init];
if (self != nil)
{
//Do something with Self
}
I am not a fan of the following construction
if (self = [super init])
{
//do something with self assuming it has been created
}
Is the following equivalent?
self = [super init];
if (self != nil)
{
//Do something with Self
}
Yes they are. The = operator returns the value.
You may also wish to refer to Wil Shipley s take on this in his "self = [stupid init];" post. He originally recommended
- (id)init;
{
if (![super init])
return nil;
[...initialize my stuff...]
return self;
}
but demonstrates a handful of cases where this may fail currently and may not work with some future changes by Apple. He now recommends
- (id)init;
{
if (!(self = [super init]))
return nil;
// other stuff
return self;
}
Lars D has your answer, but if you are looking for a way to clean up your init
methods, I prefer the following:
- (id)init
{
if ((self = [super init]) == nil) { return nil; }
// your logic
return self;
}
It crams all of the unpleasantness into one line, and it leaves the rest of your method free of one if
statement (and associated parentheses).
Okay, I ll bite. I ve got really pleasant code/window colors set up in Xcode. Ordinarily, my selection color is very visible. When I am doing a project search and iterating through the results, ...
Can someone help me to see what is going wrong with this setup I build the @sql query in the function below like this. The extra quotes are setup in the conditions array. $sql .= " WHERE $...
I have a Patient table: PatientId Admitted --------- --------------- 1 d/m/yy hh:mm:ss 2 d/m/yy hh:mm:ss 3 d/m/yy hh:mm:ss I have a PatientMeasurement table (0 to ...
What is the XSD syntax, given <xs:element name="PhoneNumber" type="xs:string" ...? > , to specify the following format for a phone number: 12 characters and area code is digits. example of ...
Original: $sql = "SELECT DATE(TimeAdded) AS Date, $column_name FROM Codes ORDER BY TimeAdded ASC"; Altered: $sql = "SELECT DATE("m", TimeAdded ) AS Date, ColumnName FROM TableName ORDER BY ...
Is there a way to have named arguments like in perl/python for example object.method(arg1 => value1, arg2 => value2, arg3 => 0); in C# prior to C# 4.0?
I am not a fan of the following construction if (self = [super init]) { //do something with self assuming it has been created } Is the following equivalent? self = [super init]; if (self != ...
Post an example to execute a "C" statement without semicolon( ; )