Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将委托函数的结果解析为字符串-swift_Swift - Fatal编程技术网

如何将委托函数的结果解析为字符串-swift

如何将委托函数的结果解析为字符串-swift,swift,Swift,我有这个委托功能: extension AppDelegate: SirenDelegate { func sirenNetworkCallDidReturnWithNewVersionInformation(lookupModel: SirenLookupModel) { // ^ need to convert the results into a string that can be used elsewhere } } 这就是我试图做到的: siren.a

我有这个委托功能:

extension AppDelegate: SirenDelegate {


  func sirenNetworkCallDidReturnWithNewVersionInformation(lookupModel:     SirenLookupModel) {

// ^ need to convert the results into a string that can be used elsewhere 

  }


}
这就是我试图做到的:

siren.alertMessaging = SirenAlertMessaging(updateTitle: "Plese update!",
                                           updateMessage: SirenDelegate.sirenNetworkCallDidReturnWithNewVersionInformation.(lookupModel: <#T##SirenDelegate#>),
                                           updateButtonMessage: "Update Now",
                                           nextTimeButtonMessage: "Remind Me",
                                           skipVersionButtonMessage: "Skip")

我试图将关于“这是一个bug修复更新”的部分显示为字符串中的消息。

不要自己调用委托方法。委托方法由目标类调用

委托方法返回
lookupModel
参数中所需的信息。当它被调用时,显示您的警报

我不确定SirenLookupModel实际上包含什么,因此
lookupModel.results[0]。releaseNotes
可能是错误的,但它给您留下了工作流的印象

func sirenNetworkCallDidReturnWithNewVersionInformation(lookupModel:  SirenLookupModel) {
    siren.alertMessaging = SirenAlertMessaging(updateTitle: "Please update!",
                                       updateMessage: lookupModel.results[0].releaseNotes,
                                       updateButtonMessage: "Update Now",
                                       nextTimeButtonMessage: "Remind Me",
                                       skipVersionButtonMessage: "Skip")

}

您这样做是错误的,因为您不应该自己调用委托func,这将由为您完成,而在委托方法中,您应该注意参数中的结果,例如

var updateMessage: String?

func sirenNetworkCallDidReturnWithNewVersionInformation(lookupModel: SirenLookupModel) {
    self.updateMessage = lookupModel.results[0].releaseNotes
}

然后在您的警报中使用
updateMessage
属性

它给出了什么错误?在“.”后面应该有成员名。将错误添加到问题中。从日志中复制粘贴它。为什么在括号
SirenDelegate之前的这一行中有
。sirenNetworkCallDidReturnWithNewVersionInformation。(lookupModel:)
还显示
SirenLookupModel
类。当我这样做时,我得到了。“AppDelegate”类型的值没有成员“updateMessage”,我应该将该代码放入应用程序代码块,对吗?您需要将属性
updateMessage
添加到AppDelegate
func sirenNetworkCallDidReturnWithNewVersionInformation(lookupModel:  SirenLookupModel) {
    siren.alertMessaging = SirenAlertMessaging(updateTitle: "Please update!",
                                       updateMessage: lookupModel.results[0].releaseNotes,
                                       updateButtonMessage: "Update Now",
                                       nextTimeButtonMessage: "Remind Me",
                                       skipVersionButtonMessage: "Skip")

}
var updateMessage: String?

func sirenNetworkCallDidReturnWithNewVersionInformation(lookupModel: SirenLookupModel) {
    self.updateMessage = lookupModel.results[0].releaseNotes
}