2011-08-12 41 views
5

我需要一些幫助,我需要知道如何創建從數組中檢索到的字符串數組。我正在使用powerplot for graph,它只接受float或string數組。如何在Objective-C中創建字符串或浮點數組

我需要動態地創建類似這樣的東西。 NSString * sourceData [7] = {@「2」,@「1」,@「4」,@「8」,@「14」,@「15」,@「10」};

下面是我的代碼來找出字符串中的數字。

NSInteger drunked = [appDelegate.drinksOnDayArray count]; 
NSMutableArray * dayArray = [[NSMutableArray alloc] init]; 
NSMutableArray * sdArray = [[NSMutableArray alloc] init]; 
//float *sdArray[7]; 


for (int i=0; i<drunked; i++) { 
    DayOfDrinks *drinksOnDay = [appDelegate.drinksOnDayArray objectAtIndex:i]; 
    NSString * dayString= [NSDate stringForDisplayFromDateForChart:drinksOnDay.dateConsumed]; 
    [dayArray addObject:dayString]; 
    NSLog(@"%@",[dayArray objectAtIndex:i]); 

    drinksOnDay.isDetailViewHydrated = NO; 
    [drinksOnDay hydrateDetailViewData]; 

    NSString * sdString= [NSString stringWithFormat:@"%@", drinksOnDay.standardDrinks]; 
    [sdArray addObject:sdString]; 

    NSString *tempstring; 
    NSLog(@"%@",[sdArray objectAtIndex:i]); 

} 

感謝您的幫助:)

+0

是什麼你的代碼有問題嗎? – sergio

+0

我需要動態創建一個String或Float列表,如下所示: NSString * sourceData [7] = {@「2」,@「1」,@「4」,@「8 「,@」14「,@」15「,@」10「}; 我現在擁有的是一個帶有內部對象的數組,我知道如何在一個字符串中添加字符串 – Desmond

回答

7

陣列在Objectice-C都不是很難的工作:

NSMutableArray *myArray = [NSMutableArray array]; 
[myArray addObject:@"first string"]; // same with float values 
[myArray addObject:@"second string"]; 
[myArray addObject:@"third string"]; 
int i; 
int count; 
for (i = 0, count = [myArray count]; i < count; i = i + 1) 
{ 
    NSString *element = [myArray objectAtIndex:i]; 
    NSLog(@"The element at index %d in the array is: %@", i, element); // just replace the %@ by %d 
} 

您可以使用NSArrayNSMutableArray - 根據您的需要,它們提供不同的功能。

下面的教程涵蓋了你之後尋找什麼:

http://www.cocoalab.com/?q=node/19

+0

hi shaharyar, Thanks for t他回答,但這不是我想要的。我知道一個數組是如何工作的,但是我需要知道如何動態地創建這樣的字符串列表 NSString * sourceData [7] = {@「2」,@「1」,@「4」,@「8 「,@」14「,@」15「,@」10「}; 我現在擁有的是一個帶有內部對象的數組,我知道如何在字符串中添加字符串。 – Desmond

+0

如何在字符串中添加字符串?那裏的問題不是很清楚。請澄清。你的問題說:'如何在Objective-C'中創建一個字符串或浮點數組這就是我的回答。 –

+0

@Shaharyar float數組不適合我!當我addObject它說發送'浮動'參數的不兼容類型'ID' – Farini

0

您可以使用malloc來創建一個C風格的數組。這樣的事情應該工作:

NSString **array = malloc(numElements * sizeof(NSString *)) 
some code here 
free(array) 

注意,不像NSMutable陣列,C數組不會做一個保留,所以你必須在必要時對其進行管理。而且不要忘了免費

+0

嗨路易斯, 你能給我更多的信息如何運行循環? – Desmond

+0

你只需要一個C數組,循環標準應該可以工作。例如,for(int i = 0; i Luis

1

您還可以將元素添加到陣列中,當你的init(以及可選的後添加它們只有當你使用的是Mutable版本的集合類:

NSMutableArray *myArray = [[NSMutableArray alloc] initWithObjects:@"2", @"1", @"4", @"8", @"14", @"15", @"10", nil]; 
[myArray addObject:@"22"]; 
[myArray addObject:@"50"]; 

//do something 

[myArray release]; 
相關問題