如何在 NSMutableArray 中存储 CGRect 值?

Posted

技术标签:

【中文标题】如何在 NSMutableArray 中存储 CGRect 值?【英文标题】:How to store CGRect values in NSMutableArray? 【发布时间】:2011-02-25 10:11:56 【问题描述】:

如何将 CGRect 对象存储在 NSMutableArray 中,然后再检索它们?

【问题讨论】:

【参考方案1】:

您需要将 CG 结构包装在 NSValue 类中。所以:

NSMutableArray* array = [NSMutableArray mutableArray];
[array addObject:[NSValue valueWithCGRect:CGRectMake(0,0,10,10)]];
CGRect someRect = [[array objectAtIndex:0] CGRectValue];

【讨论】:

更多示例:iosdevelopertips.com/cocoa/… 很好的答案!如果您演示了将存储的 NSValue “拆箱”回 CGRect,将会更加有用。 MacOS 上不可用【参考方案2】:
CGRect rect = CGRectMake( 5, 5, 40, 30 );
NSString* rectAsString = NSStringFromCGRect( rect );
CGRect original = CGRectFromString( rectAsString );

【讨论】:

【参考方案3】:

我们将CGRect,CGPoint,CMTime 对象存储在NSMutableArray 中,

[arrayName addObject:[NSValue valueWithCGPoint:MyCGPoint]]

[arrayName addObject:[NSValue valueWithCGRect:MyCGRect]]

[arrayName addObject:[NSValue valueWithCMTime:MyCMTime]]

[arrayName addObject:[NSValue valueWithCMTimeRange:MyCMTimeRange]]

【讨论】:

【参考方案4】:
Store string in array.and then get back string and convert that in CGRect back as per the need.
CGRect rect = CGRectMake( 5, 5, 40, 30 );
NSString* rectAsString = NSStringFromCGRect( rect );
NSMutableArray* array = [NSMutableArray mutableArray];
[array addObject:rectAsString];

For converting string in CGRect back use:-
CGRect rect9 = CGRectFromString(rectAsString);

【讨论】:

以上是关于如何在 NSMutableArray 中存储 CGRect 值?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 NSMutableArray 中存储 indexPath 时传入节值

如何在ios的同一个Nsmutablearray中存储旧值和新值

WatchKit:如何在 objC 中动态地对存储在 Nsmutablearray 中的图像进行动画处理

iOS:将两个 NSMutableArray 存储在 .plist 文件中

如何在 NSMutableArray* 或 NSMutableDictionary* 中存储“int”值?以整数形式出现的 JSON 数据的长期问题。

如何将存储在 NSMutableArray.. 中的值打印到 UITableViewcell