2013-03-01 62 views
1

有我的方式把[objects objectNamed:@"level"[insert i]"start"];變量或對象名

這是我能做到這一點,現在唯一的辦法,但我想我與替換它的數字。

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); 

回答

5

用途:

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

您需要使用stringWithFormat:對於這種情況。可以使用%d%i來表示整數,並且可以使用%@來插入字符串。這裏是documentation

+0

非常感謝你! – user2121776 2013-03-01 01:07:39

+0

完成,對不起有點新的這個很酷的網站 – user2121776 2013-03-01 01:14:32

+0

謝謝@ user2121776。不是問題。 :) – iDev 2013-03-01 01:15:09

2

看一看在NSString Documentation

你想用[NSString stringWithFormat:]

有關格式的更多細節看看Formatting String Objects

+0

+1,既然這兩個答案都是同時發佈的,你的答案也是正確的。 – iDev 2013-03-01 07:06:13

+0

Thx!有時候我更願意提供一點信息來鼓勵人們閱讀文檔。 – Sebastian 2013-03-01 10:50:00