您好,登錄后才能下訂單哦!
要利用NSValue包裝自定義結構體,首先需要將自定義結構體轉換為NSValue對象,然后再從NSValue對象中取出自定義結構體。
下面是一個示例代碼,演示了如何利用NSValue包裝自定義結構體Coordinate,并從NSValue對象中取出Coordinate結構體:
// 自定義結構體
typedef struct {
CGFloat x;
CGFloat y;
} Coordinate;
// 將Coordinate結構體轉換為NSValue對象
Coordinate coord = {10.0, 20.0};
NSValue *value = [NSValue valueWithBytes:&coord objCType:@encode(Coordinate)];
// 從NSValue對象中取出Coordinate結構體
Coordinate retrievedCoord;
[value getValue:&retrievedCoord];
NSLog(@"Retrieved coordinate: (%.2f, %.2f)", retrievedCoord.x, retrievedCoord.y);
在這個示例中,我們首先定義了一個自定義結構體Coordinate,然后利用NSValue的valueWithBytes:objCType:方法將Coordinate結構體轉換為NSValue對象。接著,利用getValue:方法從NSValue對象中取出Coordinate結構體,并打印出其中的x和y值。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。