将NSString转换为少数NSIntegers

时间:2014-11-17 20:27:27

标签: xcode nsstring int valueconverter

我从plist到NSString获取数据,结果我看到类似“{{1848,594},{154,176}}”的内容。将每个数字转换为单独的NSInteger的最佳方法是什么?

NSString * frame = [myPlistKey objectForKey:@“frame”];

如何将帧转换为4个单独的整数?

2 个答案:

答案 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()