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

dub*_*eat 3 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];
Run Code Online (Sandbox Code Playgroud)

我已经找到了字符串值,它们肯定存在.

接下来我尝试将这些字符串值添加到可变数组中

[self.promoTabOptionEvents.dates addObject:date];
        [self.promoTabOptionEvents.venues addObject:venue];
        [self.promoTabOptionEvents.event addObject:event];
        [self.promoTabOptionEvents.city addObject:city];
Run Code Online (Sandbox Code Playgroud)

当我检查调试器中的数组时,它们是空的.我究竟做错了什么?

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;


}
Run Code Online (Sandbox Code Playgroud)

mmc*_*omb 7

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

  • 只有一点:-)属性定义只是定义了你需要有一个init类型调用的指针,然后做一个[[NSMutableArray alloc] init] (3认同)