In Objective-C why should I check if self = [super init] is not nil?

For example: [[NSData alloc] initWithContentsOfFile:@”this/path/doesn’t/exist/”]; [[NSImage alloc] initWithContentsOfFile:@”unsupportedFormat.sjt”]; [NSImage imageNamed:@”AnImageThatIsntInTheImageCache”]; … and so on. (Note: NSData might throw an exception if the file doesn’t exist). There are quite a few areas where returning nil is the expected behaviour when a problem occurs, and because of this it’s standard practice to check for nil pretty much … Read more

When is the init() function run?

Yes assuming you have this: var WhatIsThe = AnswerToLife() func AnswerToLife() int { // 1 return 42 } func init() { // 2 WhatIsThe = 0 } func main() { // 3 if WhatIsThe == 0 { fmt.Println(“It’s all a lie.”) } } AnswerToLife() is guaranteed to run before init() is called, and init() is … Read more

How to fix “Attempted relative import in non-package” even with __init__.py

To elaborate on Ignacio Vazquez-Abrams’s answer: The Python import mechanism works relative to the __name__ of the current file. When you execute a file directly, it doesn’t have its usual name, but has “__main__” as its name instead. So relative imports don’t work. You can, as Igancio suggested, execute it using the -m option. If … Read more