没有添加到NSMutableArray目标-C的对象

时间:2010-02-26 12:14:25

标签: objective-c nsmutablearray

我试图简单地将对象添加到可变数组中,但它们不会插入。我没有得到任何错误或任何事情,我无法弄清楚最新情况。

在我的主委托文件中,我将数组分成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类看起来像这样

import

@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 个答案:

答案 0 :(得分:7)

您可以在初始化NSMutableArray实例的地方添加代码吗?我想你可能忘记了初始化数组,你的addObject调用被吞没而没有任何效果。

答案 1 :(得分:1)

您是否在任何地方实例化属性,如果是,您是否通过调试来验证是否属实?否则你可能会发送消息给nil,这将无效。或者,您可能在此调用之后进行数组创建,这将使它看起来没有添加。