2012-11-14 107 views
0

有人可以解釋爲什麼我得到這個?C結構成員未在Objective-C中初始化爲零?

CGRect rect; 
NSLog(@"rect is %@", NSStringFromCGRect(rect)); 
// rect is {{-1.99891, 2.58159e-38}, {1.91754e-41, 8.46552e-39}} 

那麼基元呢?

+1

也許這有助於:http://stackoverflow.com/questions/990817/objective-c-ints-always-initialized-to-0 –

+0

@MartinBaulig,很棒的鏈接!謝謝 – Philip007

回答

5

的Objective-C初始化實例變量爲0。這並不一定初始化當地變量爲0

如果啓用了ARC,Objective-C的局部變量初始化是對象指針(如NSObject *UIView *等)爲零。但它不會初始化任何其他局部變量。其他局部變量(如果ARC被禁用,則爲對象指針)將具有隨機值,除非您明確初始化它們。