在文件名或对象名中插入变量

时间:2013-03-01 00:46:01

标签: objective-c

我有办法放[objects objectNamed:@"level"[insert i]"start"];

这是我现在唯一可以做到的方法,但是我想用i替换它。

CCTMXObjectGroup *objects = [theMap objectGroupNamed:@"level1_oj"];
NSMutableDictionary *start1;
if(i ==0)
{
    start1 = [objects objectNamed:@"level1start"];
}
if(i ==1)
{
    start1 = [objects objectNamed:@"level2start"];
}

CGFloat x = [[start1 valueForKey:@"x"]intValue];
CGFloat y = [[start1 valueForKey:@"y"]intValue];

levelstart[i]=ccp(((x/2)-i*480),y/2);

2 个答案:

答案 0 :(得分:5)

使用:

[objects objectNamed:[NSString stringWithFormat:@"level%dstart", i]];

您需要使用stringWithFormat:来处理此类情况。 %d%i可用于表示整数,%@可用于插入字符串。这是documentation

答案 1 :(得分:2)

查看NSString Documentation

您想使用[NSString stringWithFormat:]

有关格式的更多详细信息,请查看Formatting String Objects