NsArray在方法调用后什么都没包含



我正在调用一个方法,将两个阵列传递到它:

NSArray *marked_dates = [NSArray arrayWithObjects:[dateFormat dateFromString:@"19/03/2014"],[dateFormat dateFromString:@"17/04/2014"],[dateFormat dateFromString:@"12/02/2014"], nil];
NSArray *marked_colors = [NSArray arrayWithObjects:[UIColor greenColor],[UIColor greenColor],[UIColor greenColor],nil];
[calendar markDates:marked_dates withColors:marked_colors];

以下是接收此信息的方法:

-(void)markDates:(NSArray *)dates withColors:(NSArray *)colors {
    self.markedDates = dates;
    self.markedColors = colors;
    NSLog(@"%@",[NSString stringWithFormat:@"%d",[dates count]]);
    for (int i = 0; i<[self.markedDates count]; i++) {
        NSLog(@"%@",[NSString stringWithFormat:@"%@", self.markedDates[i]]);
    }
    [self setNeedsDisplay];
}

日志说0,我显然没有进入for循环。

感谢您的任何帮助。

编辑:我还将对有关警告的任何信息进行投票:"格式字符串不是字符串文字"

属性声明下方:

@property (nonatomic, retain) NSArray *markedDates;
@property (nonatomic, retain) NSArray *markedColors;

编辑:

是的,formater给出了无效的值。这是我做的:

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"MM/dd/yyyy"];
NSLog(@"%@",[NSString stringWithFormat:@"%@",[dateFormat dateFromString:@"19/03/2014"]]);
//this prints "null"

用解决方案编辑:

错误的错误,我错过了格式化使用此功能对我有用,谢谢大家的帮助。

[dateFormat setDateFormat:@"dd/MM/yyyy"];

日期数组可能是空的,这是由于日期格式化仅产生nil值。修复日期格式化器,以便它正确生成NSDate对象,并且应该起作用:

[dateFormat setDateFormat:@"dd/MM/yyyy"];

首先,您不应将属性名称和本地实例变量作为同一名称创建。因为属性是_property name的自我创建实例var。问题与行。

NSArray *marked_dates = [NSArray arrayWithObjects:[dateFormat dateFromString:@"19/03/2014"],[dateFormat dateFromString:@"17/04/2014"],[dateFormat dateFromString:@"12/02/2014"], nil];

还添加日期格式。再次检查。让我知道您是否仍面临同一问题。

[dateFormat setDateFormat:@"dd/MM/yyyy"]; ?

最新更新