Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 无法获取要显示的星期几_Ios_Xcode_Date_Nsdate - Fatal编程技术网

Ios 无法获取要显示的星期几

Ios 无法获取要显示的星期几,ios,xcode,date,nsdate,Ios,Xcode,Date,Nsdate,可能重复: 我有一个连接到nsstring的uilabel。但是,我试图将nsstring设置为一周中的某一天(周一、周二等)。但每次我运行它,它都不会给我任何东西。我有一种感觉,虽然这是因为我没有得到一个价值,从我的日期。然而,我对xcode还不熟悉,所以我真的不知道自己做错了什么 -(void)viewDidLoad { NSDate *today = [[NSDate alloc] init]; NSCalendar *gregorian = [[NSCalen

可能重复:

我有一个连接到nsstring的uilabel。但是,我试图将nsstring设置为一周中的某一天(周一、周二等)。但每次我运行它,它都不会给我任何东西。我有一种感觉,虽然这是因为我没有得到一个价值,从我的日期。然而,我对xcode还不熟悉,所以我真的不知道自己做错了什么

-(void)viewDidLoad {
     NSDate *today = [[NSDate alloc] init];
        NSCalendar *gregorian = [[NSCalendar alloc]
                                 initWithCalendarIdentifier:NSGregorianCalendar];

        // Get the weekday component of the current date
        NSDateComponents *weekdayComponents = [gregorian components:NSWeekdayCalendarUnit
                                                           fromDate:today];

       NSString *dateString = weekdayComponents;
        _label.text = dateString;
}
请尝试以下代码:

-(void)viewDidLoad {
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init] ;
    [formatter setDateFormat:@"EEEE"];
    _label.text = [formatter stringFromDate:[NSDate date]];
}

一个主要问题是,您试图将
NSDateComponents
对象分配给
NSString
变量

@JShapiro给出的答案很好。但如果要使用
NSDateComponents
,可以执行以下操作:

NSDateComponents *weekdayComponents = [gregorian components:NSWeekdayCalendarUnit fromDate:[NSDate date]];
NSInteger weekday = [weekdayComponents weekday];
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
NSArray *weekdayNames = [formatter weekdaySymbols];

_label.text = weekdayNames[weekday];