как создать массив C - PullRequest
       3

как создать массив C

0 голосов
/ 14 августа 2011

его парни,

я думаю, что это простой вопрос, но я не знаю, как это сделать.

как мне динамически создать строку ниже из массива?

это то, что мне нужно позвонить.

    //data source   
NSString * sourceData[7] = {@"2", @"1", @"4", @"8", @"14", @"15", @"10"};


chartData = [WSData dataWithValues:[WSData arrayWithString:sourceData  withLen:7]];




+ (NSArray *)arrayWithString:(NSString *[])strings
                     withLen:(NSUInteger)len {
    NSMutableArray *tmpArr = [NSMutableArray
                              arrayWithCapacity:len];
    NSUInteger i;

    for (i=0; i<len; i++) {
        [tmpArr addObject:strings[i]];
    }
    return [NSArray arrayWithArray:tmpArr];
}

спасибо за помощь, особенно Даниэль :))

это ответ на вопрос

NSMutableArray * dayArray = [[NSMutableArray alloc] init];
dayArray = [NSMutableArray arrayWithCapacity:7];

NSMutableArray * sdArray = [[NSMutableArray alloc] init];
sdArray = [NSMutableArray arrayWithCapacity:7];

NSInteger drunked = [appDelegate.drinksOnDayArray count];

if (drunked !=0) 
{


for(int i=6; i>=0; i--) 
{
    DayOfDrinks *drinksOnDay = [appDelegate.drinksOnDayArray objectAtIndex:i];

    NSString * dayString= [NSDate stringForDisplayFromDateForChart:drinksOnDay.dateConsumed];

    [dayArray addObject:dayString];//X label for graph the day of drink.

    drinksOnDay.isDetailViewHydrated = NO;

    [drinksOnDay hydrateDetailViewData];

    NSNumber *sdNumber =  drinksOnDay.standardDrinks;
    [sdArray addObject: sdNumber];      
}

NSString *sData[7];// = malloc(7 * sizeof(NSString *));
for (int i=0; i<7; i++) 
{
    DayOfDrinks *drinksOnDay = [appDelegate.drinksOnDayArray objectAtIndex:i];
    sData[i] = [NSString stringWithFormat:@"%@",drinksOnDay.standardDrinks];

}

NSString * sourceData[7] = {sData[6],sData[5],sData[4],sData[3],sData[2],sData[1],sData[0] };

}

Ответы [ 3 ]

1 голос
/ 15 августа 2011

Если вы используете массив только в качестве параметра вызова и не храните его где-либо или не возвращаете из текущего метода:

NSString* sourceData[7];

for (i = 0; i < 7; i++) {
    int num = <getTheValueYouWant>;
    sourceData[i] = [NSString stringWithFormat:@"%d", num];
}

Но учтите, что если вы намереваетесь вернуть массив, илисохраните его в какой-то долгоживущей переменной, вам нужна совершенно другая настройка.

0 голосов
/ 14 августа 2011

Так вот, как бы вы создали NSMutableArray.Изменчивый, потому что вы создаете его во время выполнения.

    NSString * sourceData = [[NSString alloc] initWithFormat:@""];

    //assuming the array you have is arr with NSNumber objects
    for (NSNumber *num in arr) {
        [sourceData stringByAppendingFormat:@"%@", num];
    }
0 голосов
/ 14 августа 2011

Вы можете попробовать следующий код с циклом, как вам требуется .....

NSMutableArray *array;
array = [[NSMutableArray alloc] init];
[array addObject:[NSNumber numberWithFloat:1.0f]];
[array release];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...