0
有人可以解釋爲什麼我得到這個?C結構成員未在Objective-C中初始化爲零?
CGRect rect;
NSLog(@"rect is %@", NSStringFromCGRect(rect));
// rect is {{-1.99891, 2.58159e-38}, {1.91754e-41, 8.46552e-39}}
那麼基元呢?
有人可以解釋爲什麼我得到這個?C結構成員未在Objective-C中初始化爲零?
CGRect rect;
NSLog(@"rect is %@", NSStringFromCGRect(rect));
// rect is {{-1.99891, 2.58159e-38}, {1.91754e-41, 8.46552e-39}}
那麼基元呢?
的Objective-C初始化實例變量爲0。這並不一定初始化當地變量爲0
如果啓用了ARC,Objective-C的局部變量初始化是對象指針(如NSObject *
,UIView *
等)爲零。但它不會初始化任何其他局部變量。其他局部變量(如果ARC被禁用,則爲對象指針)將具有隨機值,除非您明確初始化它們。
也許這有助於:http://stackoverflow.com/questions/990817/objective-c-ints-always-initialized-to-0 –
@MartinBaulig,很棒的鏈接!謝謝 – Philip007