Себ*_*кий 39 ios swift xcode6.3
在Xcode更新之后,编译器开始在工作代码上抛出错误(这两个函数都在AppDelegate.swift中).
func application(application: UIApplication,
didFinishLaunchingWithOptions launchOptions: NSDictionary?) -> Bool
{
FBLoginView.self
FBProfilePictureView.self
return true
}
Run Code Online (Sandbox Code Playgroud)
有错误:
/Users/../AppDelegate.swift:14:11:Objective-C方法'application:didFinishLaunchingWithOptions:'由方法'application(:didFinishLaunchingWithOptions :)提供'与协议中的可选需求方法'application(:didFinishLaunchingWithOptions :)' 冲突 'UIApplicationDelegate'
第二
func application(application: UIApplication,
openURL url: NSURL,
sourceApplication: NSString?,
annotation: AnyObject) -> Bool {
var wasHandled:Bool = FBAppCall.handleOpenURL(url, sourceApplication: sourceApplication as! String)
return wasHandled
}
Run Code Online (Sandbox Code Playgroud)
有错误
/Users/../AppDelegate.swift:25:11:Objective-C方法'应用程序:openURL:sourceApplication:annotation:'由方法提供'应用程序(:openURL:sourceApplication:annotation :)'与可选需求方法'应用程序冲突协议'UIApplicationDelegate'中的(:openURL:sourceApplication:annotation :)'
我明白,我很可能希望你把这两个功能合二为一.我不明白为什么这个代码在6.3中突然停止工作,尽管它在6.2中工作.
kbp*_*ius 76
我不确定编译器为什么会抛出错误,但我确实看到了相同方法的默认Swift版本的差异.也许您可以将函数声明替换为使用普通Swift项目创建的函数声明:
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool
func application(application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject) -> Bool
我建议用上面的方法替换你的方法声明,看它是否现在编译.
编辑1(2015年9月21日):我已经确认这些是Xcode 7公开发布的最新版本.他们在声明#2中删除了optional(annotation: AnyObject?
)并使它成为(annotation: AnyObject
).
Ren*_*cio 24
在XCode 6.3中更改了didFinishLaunchingWithOptions函数的launchOptions参数的类型:
"launchOptions:NSDictionary?" 已成为"launchOptions:[NSObject:AnyObject]?"
只需更改您的函数标题即可匹配以下内容:
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
18771 次 |
最近记录: |