CGRect rect = Temp_3_Artwork_Big_Image.frame;
NSLog(@"Rect : %.2f,%.2f,%.2f,%.2f",rect.origin.x,rect.origin.y,rect.size.width,rect.size.height);
NSValue *value = [NSValue valueWithCGRect:rect];
NSLog(@"Value : %@",value);
CGRect rect1 = [value CGRectValue];
NSLog(@"rect1 : %.2f,%.2f,%.2f,%.2f",rect1.origin.x,rect1.origin.y,rect1.size.width,rect1.size.height);

输出像
Rect : -0.00,-0.00,829.63,1241.93
Value : NSRect: {{-1.1322711e-05, -2.9491075e-05}, {829.63159, 1241.933}}
rect1 : -0.00,-0.00,829.63,1241.93

我使用解析将 NSValue 发送到服务器。这很好用,当我从服务器取回它时,它是一个 NSString
NSRect: {{-1.1322711e-05, -2.9491075e-05}, {829.63159, 1241.933}}

现在我如何将其转换回 CGRect

最佳答案

在将其转换为 NSValue 之前,只需记录它并查看它是否与您发送的格式匹配。

您也可以使用:

NSString *frameString = NSStringFromCGRect(self.window.frame);
CGRectFromString(frameString);

这将正常工作并且更清洁。

关于ios - 如何从存储在字符串中的 NSValue 取回 CGRect,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21014469/

10-10 06:29