草庐IT

void-compatibility

全部标签

ios - 错误 Nil 与预期的参数类型不兼容 '() -> Void'

这段代码:runAction(moveleft,completion:nil)给出错误:Nilisnotcompatiblewithexpectedargumenttype'()->Void'这是为什么? 最佳答案 你应该传递参数{}:runAction(moveleft,completion:{})根据this的建议回答。 关于ios-错误Nil与预期的参数类型不兼容'()->Void',我们在StackOverflow上找到一个类似的问题: https:/

Swift4 错误无法将类型 '(_) -> Void' 的值转换为预期的参数类型 '(_) -> _'

在Swift4中使用PromiseKit进行API调用:letapiCall=ApiManager.shared.fetchActors()apiCall.then{actors->Voidinself.dataSourceArray=actorsself.tableView.reloadData()}.catch{error->Voidin}我收到这个错误:Cannotconvertvalueoftype'()->Void'toexpectedargumenttype'()->_'我该如何解决这个问题? 最佳答案 使用.done而

具有 Void 返回类型与无返回类型的 Swift 函数

我正在努力理解Swift中的返回值。你能解释一下它们之间的区别吗?funcsomeFunc()->Void{}funcsomeFunc(){} 最佳答案 简单来说,没有区别。->Void只是表示函数不返回任何值的明确方式。来自docs:FunctionswithoutadefinedreturntypereturnaspecialvalueoftypeVoid.Thisissimplyanemptytuple,ineffectatuplewithzeroelements,whichcanbewrittenas().因此,下面这三个函

swift - 结合两个 Observable<Void>

我仍然是一个被动的新手,我正在寻求帮助。funcdoA()->ObservablefuncdoB()->ObservableenumResult{caseSuccesscaseBFailed}funcdoIt()->Observable{//startbothdoAanddoB.//Ifbothcompletethenemit.Successandcomplete//IfdoAcompletes,butdoBerrorsemit.BFailedandcomplete//Ifbotherrorthenerror}上面是我想我想要的......初始函数doA()和doB()包装网络调用所以

swift 4 : Cannot assign value of type '(_) -> Void' to type '(() -> ())?'

XCode9,Beta3。Swift4。letbutton=JumpingButton(x:0,y:50,w:150,h:300)//JumpingButton:UIButton//InsideJumpingButton://varclickAction:(()->())?button.clickAction={(sender)->Voidin//Errorlineaction()Sound.playSound(Sounds.Button)}出现错误:无法将类型“(_)->Void”的值分配给类型“(()->())?” 最佳答案 因

ios - 在 PromiseKit 6 中返回 void

这就是我使用PromiseKit4.5的结果api.getUserFirstName().then{name->Voidinprint(name)}getUserFirstName()返回Promsise.我更新到PromiseKit6,现在会抛出一个错误:Cannotconvertvalueoftype'(_)->Void'toexpectedargumenttype'(_)->_'这条错误消息对我来说意义不大。我该如何解决这个问题?编辑:所以这似乎解决了这个问题,但我对发生的事情知之甚少:api.getUserFirstName().compactMap{nameinprint(n

swift - UnsafeMutablePointer<Void> 到具体对象类型

如何从UnsafeMutablePointer转换到具体对象类型我已经创建了一个KVO观察器并传递了一个自定义类作为上下文,就像这样classInfo:NSObject{}classFoo:NSObject{dynamicvarproperty=""}varinfo=Info()classObserving:NSObject{funcobserve1(object:NSObject){object.addObserver(self,forKeyPath:"property",options:.New,context:&info)}overridefuncobserveValueForK

swift - Swift 中 void -> (void) 的含义是什么?

我知道objectivec中(void)的含义,但我想知道这段代码的含义是什么:(Void)->(Void)在Swift中。 最佳答案 ()->()只是意味着Void->Void-一个不接受任何参数且没有返回值的闭包。在Swift中,Void是空元组(()的类型别名。typealiasVoid=()空元组类型。这是未指定显式返回类型的函数的默认返回类型。举个例子letwhat1:Void->Void={}或letwhat2:Int->Int={iinreturni}都是不同类型的有效表达式。所以print的类型是()->()(又名V

iOS:在 Swift 中使用 void func 进行单元测试

我想测试这个不返回值的方法,但我想检查它是否工作正常。你能给我一些建议吗?funclogin(){ifUtility.feature.isAvailable(myFeat){ifself.helper.ifAlreadyRed(){self.showWebViewController()}else{letfirstVC=FirstViewController()self.setRootController(firstVC)}}else{letsecondVC=SecondViewController()self.setRootController(secondVC)}}那么在这里应用单

swift - 错误 : Bool is not Convertible to Void:

我正在从Obj移动我的代码。C到SwiftC并尝试实现Twittersdk..但是,我收到一个错误...任何人都可以告诉我我做错了什么。请帮我解决这个问题。我花了2天的时间尝试了所有方法,但都不适合我。 最佳答案 您的代码块没有返回语句,因此编译器使用最后一条语句的结果UIApplication.sharedApplication().openURL(url)作为返回值,它是一个Bool而不是block签名中声明的Void。要解决这个问题,只需添加一个return语句:{(url:NSURL,oauthToken:String)->