Swift错误的编译错误:默认标签只能出现在switch语句中

时间:2016-08-02 05:21:48

标签: swift swift3 xcode8-beta4

NSString * buddyNameJID = [NSString stringWithFormat:@"%@@serverName",buddyUserID]; XMPPJID *jid = [XMPPJID jidWithString:buddyNameJID]; //if you don't need permission then use below line otherwise comment [[self xmppRoster] acceptPresenceSubscriptionRequestFrom:jid andAddToRoster:YES]; //here we are adding our contact to our roster then check once in roaster in openfire [[self xmppRoster] addUser:jid withNickname:nickName];已在NSFileManager之后重命名为FileManager。这样做 Swift 2.3类方法现在只有defaultManager 但是当我使用时。

default

编译器mis-icntepret并抛出错误。

  

默认标签只能出现在switch语句

Swift 2.3和Xcode 8 beta 3

2 个答案:

答案 0 :(得分:2)

我不了解Swift 2.3,但我认为转义关键字的语法并没有改变。毕竟,这不是重大更新。

您可以使用`字符转义关键字,以便将关键字用作变量,方法或其他内容的标识符。所以你可以这样做创建一个名为var的变量:

var `var` = 0

所以,如果你只是写:

FileManager.`default`()

它应该有用。

btw我刚刚在文档中查找了NSFileManager。我发现没有default()方法。文档是否过时了?

enter image description here

答案 1 :(得分:0)

这个问题在Swift 3中得到修复,不再需要反引号。请注意,默认管理器现在是类属性而不是类方法。所以正确的语法是:

 FileManager.default