我从plist到NSString获取数据,结果我看到类似“{{1848,594},{154,176}}”的内容。将每个数字转换为单独的NSInteger的最佳方法是什么?
NSString * frame = [myPlistKey objectForKey:@“frame”];
如何将帧转换为4个单独的整数?
答案 0 :(得分:0)
修改强>
由于你没有太具体,我会尽力掩盖你的情况。如果我认为你NSString *frame
填充了 {{1848,594},{154,176}} :
NSString *stringWithoutLeftBracket = [frame
stringByReplacingOccurrencesOfString:@"{" withString:@""];
NSString *stringWithoutRightBracket = [stringWithoutLeftBracket
stringByReplacingOccurrencesOfString:@"}" withString:@""];
NSArray *frameArray = [stringWithoutRightBracket componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@","]];
然后您可以使用以下索引访问对象:
NSInteger integer = [[frameArray objectAtIndex:0] integerValue];
但你也可以像这样使用for
循环:
for (NSInteger integer in frameArray) {
// Do something
}
在我看来你有一个由rect制作的字符串,意味着你可以转换它。
答案 1 :(得分:0)
在这种特定情况下,看起来您正在尝试解析NSRect
的字符串表示形式,在这种情况下,您可以使用Foundation框架中的NSRectFromString()
。