我有这样的字符串:{{0,168},{20,20}},这里表示两点。我想让他们出来初始化我的 CCPoint。你们知道如何转换吗?
问问题
115 次
1 回答
1
一个简单的修复,如果你有特定格式的字符串:
CGRect rect = CGRectFromString(@"{{0,168},{20,20}}");
CGPoint point1 = CGPointMake(rect.origin.x, rect.origin.y);
CGPoint point2 = CGPointMake(rect.size.width, rect.size.height);
如果您有更多并且想要获得它们,请使用:
NSString *string = @"{{0,168},{20,20},{20,20},{20,20},{20,20}}";
NSRange range;
range.length = string.length - 1;
range.location = 1;
//because you have commas everywhere you need to change it to a different separator
NSString *modString = [[string substringWithRange:range] stringByReplacingOccurrencesOfString:@"},{" withString:@"}#{"];
NSArray *pointList = [modString componentsSeparatedByString:@"#"];
for (NSString *str in pointList)
{
CGPoint point = CGPointFromString(str);
NSLog(@"%@",NSStringFromCGPoint(point));
}
于 2013-07-16T07:43:49.047 回答