在Xcode 8 beta和Swift 3中,当你有一个将闭包作为参数的方法时,例如:
func foo(bar: (String) -> Void) {
bar("Hello, world")
}
Run Code Online (Sandbox Code Playgroud)
如何记录闭包所需的参数?例如,如果我写了这个:
/// Calls bar with "Hello, world"
/// - parameter bar: A closure to call
func foo(bar: (String) -> Void) {
bar("Hello, world")
}
Run Code Online (Sandbox Code Playgroud)
然后快速帮助看起来像这样:
我想知道什么语法可以让我写一些文字来取代"没有描述".非常感谢!
我有一个Objective-C方法接受类型的参数,id
我想传递一个Swift结构.
ObjcClass.m
文件:
@implementation ObjcClass
+ (void)addListener:(id)listener {
// Do something with listener
}
Run Code Online (Sandbox Code Playgroud)
DemoStruct.swift
文件:
struct DemoStruct {
func registerAsListener() {
ObjcClass.addListener(self) // Can't find a way to do this
}
}
Run Code Online (Sandbox Code Playgroud)
我得到的编译错误消息:
类型'DemoStruct'不符合协议'AnyObject'
所以我的问题是,如何让Objective-C方法接受Any
而不是AnyObject
有这样的东西?