2012-05-05 83 views
1

是否有可能做線沿線的一些可變地命名變量:在客觀C++

Entity [NSString stringWithFormat:@"Entitiy%i",entitiesCreated]; 

創建一個名爲ENTITY1,ENTITY2,ENTITY3,Entityn變量? 我不在乎我如何去做,我只是需要類似變量命名變量的東西。如果有任何用途,它們將被添加到數組中。

回答

0

不是「變量」本身,而是通過名稱來存儲數據的典型方法是通過一個關聯的數據結構,諸如NSMutableDictionary(在ObjC)或std::unordered_mapstd::map(在C++)。你調查過這些嗎?具體而言,例如該接近你彷彿是試圖做:

NSMutableDictionary* dict = [NSMutableDictionary dictionaryWithCapacity:1]; 
[dict addObject:somevalue forKey:[NSString stringWithFormat:@"Entity%i",entitiesCreated]]; 

,然後訪問值:

id val = [dict valueForKey:@"Entity1"]; 

左右。

我假設你是從其他編程語言,如JavaScript或PHP這樣的地方這樣的關聯數據結構用於保存所有變量來 - 這是不是在C派生的語言,其中的變量是靜態分配的情況。你必須明確地創建任何動態數據結構。

+0

其實我來自BASH,你可以從其他變量的變量名稱,但無論如何謝謝你...將創建爲tmpObject的對象然後將數組添加到數組工作? 有點像:(tmpObject創建東西) tmpObject addtoarray stuff 然後我可以訪問他們的對象,如果我知道它的索引? – DuskFall

+0

@DuskFall如果我正確地理解了你,你在'NSArray' /'NSMutableArray'之後 - 使用'objectAtIndex:'方法可以通過索引查找放置在其中的任何對象,是的。 – pmdj

+0

非常感謝!現在看到我還是新的,我如何標記你並關閉這個問題? – DuskFall