如何将委托函数的结果解析为字符串-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
}