Objective c CGRect中的数组值

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

我有一个坐标数组,像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 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。