2009-12-23 65 views
0

我的問題是:我試圖將我的CGFloat值轉換爲整數值,並將它們添加到NSMutableArray中。如何將CGFloat轉換爲整數值(iPhone SDK)

例如;

CGFloat的X = ship.center.x

// x轉換爲整數 ?

P.S.:然後,我會將這些值通過藍牙發送給另一個iPhone。但首先我必須解決這個問題。 İf任何人都知道如何發送陣列數據到另一個iPhone與藍牙,它也可以:) :)

回答

1

首先,你爲什麼要轉換爲int? CGfloat只是一個float類型定義,並且可以按原樣發送,特別是如果您知道將iPhone發送到iPhone,因爲它們將使用相同的浮點內存表示。如果您仍然需要做這出於某種原因...

// Choose constants m and c so that the resulting integers 
// span as much of the range (INT_MIN, INT_MAX) as possible, 
// thus minimising aliasing effects. Also consider using 
// long long (64-bit integers). 
int x = (int)(m*ship.center.x+c) 

NSMutableArray中只存儲的對象,所以你可能需要使用一個簡單的數組來代替:

int* arr = malloc(sizeof(x)*ships.length); 
for (int i = 0; i < ships.length; i++) { 
    arr[i] = (int)ships[i].center.x; 
} 
send_data(arr, sizeof(x)*ships.length); 

我從來沒有與編程藍牙堆棧,所以我不能幫你。抱歉。