Objective c CGRect中的数组值
我有一个坐标数组,像x和y一样 NSArray*objectCoords=[NSArray arrayWithObjects: @"{{116,371},{85,42}}", @"{{173,43},{85,42}}", @“{145200},{85,42}” 我正在尝试使用drawRect绘制一个圆。例如:Objective c CGRect中的数组值,objective-c,nsarray,cgrect,Objective C,Nsarray,Cgrect,我有一个坐标数组,像x和y一样 NSArray*objectCoords=[NSArray arrayWithObjects: @"{{116,371},{85,42}}", @"{{173,43},{85,42}}", @“{145200},{85,42}” 我正在尝试使用drawRect绘制一个圆。例如: -(void)drawRect:(CGRect)rect { // [super drawRect:rect]; 144,179,130 CGContextRef con
-(void)drawRect:(CGRect)rect
{
// [super drawRect:rect]; 144,179,130
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetLineWidth(context, 10.0);
CGContextSetStrokeColorWithColor(context,[UIColor grayColor].CGColor);
int x=10;
int y=10;
CGRect rectangle0;
for (int i=0; i<=10; i++) {
rectangle0 = CGRectMake(x,y,10,10);//just to draw
x=x+20;
y=y+23;
NSLog(@"x: %d and y: %d", x,y);
CGContextAddEllipseInRect(context, rectangle0);
}
-(void)drawRect:(CGRect)rect
{
//[super-drawRect:rect];144179130
CGContextRef context=UIGraphicsGetCurrentContext();
CGContextSetLineWidth(上下文,10.0);
CGContextSetStrokeColorWithColor(上下文,[UIColor grayColor].CGColor);
int x=10;
int y=10;
CGRect矩形0;
对于(inti=0;i您可以使用CGRectFromString(string)
从字符串表示创建CGRect对象。这将以{{x,y},{w,h}
格式获取字符串(谢天谢地,您的字符串是!)
例如:
NSArray *objectCoords = [NSArray arrayWithObjects: @"{{116,371},{85,42}}", @"{{173,43},{85,42}}", @"{{145,200},{85,42}}",
for (NSString* objectCoord in objectCoords) {
CGRect coord = CGRectFromString(objectCoord);
// Draw using your coord
}
相反,如果您有一个CGRect,您可以通过NSStringFromCGRect(rect)
获得一个字符串表示。您可以使用CGRectFromString(string)
从字符串表示中创建一个CGRect对象。这将采用{x,y},{w,h}
格式的字符串(谢天谢地,您的字符串是!)
例如:
NSArray *objectCoords = [NSArray arrayWithObjects: @"{{116,371},{85,42}}", @"{{173,43},{85,42}}", @"{{145,200},{85,42}}",
for (NSString* objectCoord in objectCoords) {
CGRect coord = CGRectFromString(objectCoord);
// Draw using your coord
}
相反,如果您有一个CGRect,则可以通过NSStringFromCGRect(rect)获得字符串表示
使用CGRectFromString
将此类NSString
s转换为CGRect使用CGRectFromString
将此类NSString
s转换为CGRect是否实际上是一个字符串数组?是否尝试对数组内容进行迭代?为什么要将字符串表示形式设置为r数组中的ects?这是来自服务器的响应:)它实际上是一个字符串数组吗?您是否尝试对数组内容进行迭代?为什么要将RECT的字符串表示形式放入数组中?这是来自服务器的响应:)另一种序列化的好方法是使用NSValue。+[NSValue valueWithCGRect:
和-[NSValue CGRectValue]
。这一点非常好。就个人而言,任何需要作为对象的CgRect的内部存储都应该是NSValue
。如果您需要与外部服务通信(无论出于何种原因,例如JSON web服务),字符串表示在这里工作得很好。是的,我正在使用JSON来获取坐标。这非常有用。谢谢WDUK。另一种序列化的好方法是使用NSValue。+[NSValue valueWithCGRect:
和-[NSValue CGRectValue]
。这一点很好。就个人而言,任何需要作为对象的CGRECT的内部存储都应该是NSValue
。如果您需要与外部服务通信(无论出于何种原因,例如JSON web服务),字符串表示法在这里工作得很好。是的,我正在使用JSON来获取坐标。这就像一个符咒。谢谢WDUK。