预期的“,”分隔符和未解析的标识符

Posted

技术标签:

【中文标题】预期的“,”分隔符和未解析的标识符【英文标题】:Expected ',' separator and unresolved identifier 【发布时间】:2015-12-08 21:27:36 【问题描述】:

我已经为这些错误寻找了一天的解决方案,但我不知道如何解决它们。下面的代码收到多条错误信息:

使用未解析的标识符 NSCalendarUnitDay

上线:

localNotification.repeatInterval = NSCalendarUnitDay 

还有三个错误:

应为“,”分隔符 使用未解析的标识符“sharedApplication” 使用未解析的标识符“applicationBadgeNumber”

在线:

localNotification.applicationIconBadgeNumber = [[UIApplication sharedApplication] applicationIconBadgeNumber] + 1;

这是整个代码:

override func viewDidLoad() 
    super.viewDidLoad()


    var localNotification:UILocalNotification = UILocalNotification()
    localNotification.fireDate = datePicker.date
    localNotification.alertBody = nil;
    localNotification.alertAction = nil;
    localNotification.repeatInterval = NSCalendarUnitDay

    //Add one to the icon badge number

    localNotification.applicationIconBadgeNumber = [[UIApplication sharedApplication] applicationIconBadgeNumber] + 1;


    UIApplication.sharedApplication().scheduleLocalNotification(localNotification)

【问题讨论】:

好吧,代码还是一半Objective-C。 从Objective-C代码复制粘贴[[UIApplication sharedApplication] applicationIconBadgeNumber]? 知道如何重写它或在哪里可以读到它是如何完成的吗? 【参考方案1】:

这是非常基本的。您可以将代码更改为:

override func viewDidLoad() 
    super.viewDidLoad()

    var localNotification:UILocalNotification = UILocalNotification()
    localNotification.fireDate = datePicker.date
    localNotification.alertBody = nil;
    localNotification.alertAction = nil;
    localNotification.repeatInterval = NSCalendarUnit.Day

    //Add one to the icon badge number

    localNotification.applicationIconBadgeNumber = UIApplication.sharedApplication().applicationIconBadgeNumber + 1;


    UIApplication.sharedApplication().scheduleLocalNotification(localNotification)


【讨论】:

【参考方案2】:

这是因为您尝试在 Swift 中执行 Objective-C 代码。

只需将该行替换为

localNotification.applicationIconBadgeNumber = UIApplication.sharedApplication().applicationIconBadgeNumber + 1

当你看到类似 [ClassName classMethod]*variable 或类似的东西时,它就是 Objective-C。而[] 表示您向对象发送消息。在 Swift 中,您只需使用 () 调用方法:ClassName.classMethod()

【讨论】:

以上是关于预期的“,”分隔符和未解析的标识符的主要内容,如果未能解决你的问题,请参考以下文章

语法错误:预期输入结束,但在 [2:1] 处获得标识符“CONCAT_WS”

今天刚安装了vs2017,新建好项目后发现无法打开源文件和未定义标识符的错误是怎么回事?

命名空间--名称解析规则

如何在 Bash 脚本中解析 CSV?

预期的标识符或“”和预期的非限定 ID

SQL server非分隔标识符的规则