Объекты, не добавляемые в NSMutableArray Objective -C - PullRequest
3 голосов
/ 26 февраля 2010

Я пытаюсь просто добавить объекты в изменяемый массив, но они НЕ БУДУТ вставлены. Я не получаю ошибок или чего-то еще, и я не могу понять, что происходит.

В моем главном файле делегатов я разбил массив на 4 отдельные строки, например:

NSArray *split=[currentParsedCharacterData componentsSeparatedByString:@"|"];
        NSLog([split objectAtIndex:3]);

        NSString *date=[split objectAtIndex:0];
        NSString *venue=[split objectAtIndex:1];
        NSString *event=[split objectAtIndex:2];
        NSString *city=[split objectAtIndex:3];

Я отследил строковые значения, и они определенно есть.

Далее я пытаюсь добавить эти строковые значения в изменяемые массивы

[self.promoTabOptionEvents.dates addObject:date];
        [self.promoTabOptionEvents.venues addObject:venue];
        [self.promoTabOptionEvents.event addObject:event];
        [self.promoTabOptionEvents.city addObject:city];

Когда я проверяю массивы в отладчике, они пусты. Что я делаю не так?

Класс promoTabOptionEvents выглядит следующим образом

импорт

@interface PromoTabOptionEvents : UIViewController {

    NSString *event_headline;
    NSMutableArray *dates;
    NSMutableArray *venues;
    NSMutableArray *event;
    NSMutableArray *city;

}

@property(nonatomic,retain)NSString *event_headline;
@property(nonatomic,retain)NSMutableArray *dates;
@property(nonatomic,retain)NSMutableArray *venues;
@property(nonatomic,retain)NSMutableArray *event;
@property(nonatomic,retain)NSMutableArray *city;
-(void)applyLabels;
-(id)initWithTabBar;
@end


#import "PromoTabOptionEvents.h"


@implementation PromoTabOptionEvents
@synthesize event_headline;
@synthesize dates;
@synthesize venues;
@synthesize event;
@synthesize city;

-(id) initWithTabBar {
    if ([self init]) {
        //this is the label on the tab button itself
        //self.title = @"Tab1";

        //use whatever image you want and add it to your project
        self.tabBarItem.image = [UIImage imageNamed:@"events.png"];

        // set the long name shown in the navigation bar
        self.navigationItem.title=@"Events";


        CGRect bgframe;
        bgframe.size.width=320; bgframe.size.height=460;
        bgframe.origin.x=0; bgframe.origin.y=0;
        UIImage* bgimage = [UIImage imageNamed:@"eventsbig.png"];
        UIImageView *imagebgview = [[UIImageView alloc] initWithImage: bgimage];
        imagebgview.frame=bgframe;
        imagebgview.contentMode=UIViewContentModeScaleAspectFit;
        self.view.backgroundColor=[UIColor whiteColor];
        [self.view addSubview:imagebgview];


    }
    return self;


}

Ответы [ 2 ]

7 голосов
/ 26 февраля 2010

Можете ли вы добавить код, где вы инициализируете свои экземпляры NSMutableArray? Я думаю, что вы, возможно, забыли инициализировать массивы, и ваши вызовы addObject поглощаются безрезультатно.

1 голос
/ 26 февраля 2010

Вы где-нибудь создаете экземпляры свойств, и если да, прошли ли отладку, чтобы убедиться, что это так? В противном случае вы можете отправлять сообщения на ноль, что не будет иметь никакого эффекта. В качестве альтернативы, вы можете делать массив после этого вызова, что бы выглядело так, как будто они не добавлены.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...