2012-06-07 18 views

回答

9

必須變換的CGRect至NSValue(反之亦然):


NSValue *myValue = [NSValue valueWithCGRect:rect]; 

NSValue是一個對象(所以它的類型 「ID」 的)。

然後你就可以得到的CGRect回來:


CGRect myRect = [myValue CGRectValue]; 
+0

非常感謝 – whatdoesitallmean

2

NSValueNSNumber的處理情況下,當值不是一個對象 - 對象:

NSRect rect = ...; 
[object setValue:[NSValue valueWithRect:rect] forKey:key]; 

NSValue* val = [object valueForKey:key]; 
NSRect extractedRect = [val rectValue]; 

要存儲GCRect與Mac OS X SDK,你必須把它轉換爲NSRect首先使用NSRectFromCGRectNSRectToCGRect函數。在iOS上,有valueWithCGRect/CGRectValue方法(請參閱@ viggio24答案)。

相關問題