2

我制作了一个非常基本的 iOS 应用程序,它在 viewDidLoad 的标签中显示时间。我在这行代码中收到预期标识符错误:

NSString *myTime = [myDateFormatter stringFromDate:[*myDate]];

这是 ViewController.m 文件:

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

@synthesize timeLabel;

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    NSDateFormatter *myDateFormatter = [[NSDateFormatter alloc] init];
    [myDateFormatter setDateFormat:@"HH:mm a"];
    NSDate *myDate = [[NSDate alloc] init];
    NSString *myTime = [myDateFormatter stringFromDate:myDate];
    [timeLabel setText : myTime];
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}


@end

做了一些补充。代码已编译,但现在我收到 Thread 1:SIGABRT 错误。该应用程序未在模拟器上加载,并且出现错误。这是在 main() 中给出错误的代码行:

return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));

是的,我没有链接。它现在工作。谢谢你们!

4

5 回答 5

8

像这样删除 *

NSString *myTime = [myDateFormatter stringFromDate:mydate];
于 2013-08-07T09:57:02.837 回答
0

试试这个NSString *myTime = [myDateFormatter stringFromDate:[NSDate date]];

于 2013-08-07T09:55:44.893 回答
0

试试这个 : NSString *myTime = [myDateFormatter stringFromDate:myDate];

于 2013-08-07T09:57:48.687 回答
0

当应用程序运行时遇到异常时,会发生 SIGABRT 错误。这可能是由于内存异常或任何其他运行时错误。

您可以尝试清理和构建您的项目。如果仍然存在,请检查目标调试器控制台。

于 2013-08-07T10:21:03.017 回答
0

我和 SKM17 在一起,NSString *myTime = [myDateFormatter stringFromDate:mydate]; 但只要确保 mydate 中有一些东西

NSLog("mydate = %@",mydate);

如果它仍然没有出现。记录日志始终是检查值是否在它们应该在的位置的好主意:D

于 2013-08-07T10:34:21.327 回答