swift - 如何在另一个函数中使用一个函数的变量?

标签 swift

我想知道如何在另一个函数中使用一个函数中的变量? (我似乎无法理解这方面的文档,而且 Structs 似乎不适合我)

基本上我有一个函数可以删除一些字符,然后返回一个引号/句子,其中的字符经过编辑 (/n)&(/),但是我想将该函数返回的值放入我的推文表/共享函数中。但我似乎无法让它工作:

这是我的删除字符函数:

var cachedQuote: String = interestingQuoteLabel.text!
    func removeSomeChars(a: String) -> String {
        var cachedQuote: String = ""
        for character in a {
            if character != "\"" && character != "\n" {
                cachedQuote += String(character)
            }
        }
        return cachedQuote
    }

然后我尝试将它插入到共享函数中,但它不起作用:

 @IBAction func shareButton(sender: UIButton) {

        var myShare = "Hi + \(sharedQuote) "
        let activityVC:UIActivityViewController =     UIActivityViewController(activityItems: [myShare], applicationActivities: nil)
        self.presentViewController(activityVC, animated: true, completion: nil)

    }

任何想法/帮助将不胜感激,

我想我必须声明一个实例/全局变量,但由于某种原因它永远行不通?也许我正在做不同的事情。

最佳答案

您必须使用函数的返回值并将您的 cachedQuote 传递给它:

func removeSomeChars(yourString:String) -> String {
    //Create set of characters you dont want.
    var charSet = NSCharacterSet(charactersInString: "\"\n")
    //Separate your string to remove them
    var cleanStringAsArray = yourString.componentsSeparatedByCharactersInSet(charSet)
    //put the strings together
    var realString = join("", cleanStringAsArray)
    return realString
}

@IBAction func shareButton(sender: UIButton) {
    //Call the removeSomeChars method and put the value inside the cleanQuote variable
    var cleanQuote = removeSomeChars(cachedQuote)
    var myShare = "Hi + \(cleanQuote) "
    let activityVC:UIActivityViewController =     UIActivityViewController(activityItems: [myShare], applicationActivities: nil)
    self.presentViewController(activityVC, animated: true, completion: nil)

}

如您所见,我已经编辑了您的 removeSomeChars 方法。因为你把它搞得有点复杂了。您可以只在字符串中设置一个 NSCharset 不需要的字符,然后通过将字符串拆分为多个字符串并将它们连接在一起来删除它们。这样你就可以添加另一个字符,如果你真的想要的话。

关于swift - 如何在另一个函数中使用一个函数的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28926126/

相关文章:

ios - ViewModel 和 Controller 之间通信的最佳方式

macos - Nib 的自定义类无法连接到类

Swift 3 无法将 .. 类型的参数转换为预期的参数类型 "inout _"

ios - 如何快速记录开始和结束时间

swift - Y 类的对象 X 未在 Swift 中实现 methodSignatureForSelector

ios - 使用 AVFoundation 时如果不结束 session 会很糟糕吗?

xcode - Swift Error 未处理且未标记为 try

ios - 为什么 NSFetchedResultsController 没有检索到我的多对多关系?

整个应用程序中的 IOS 可达性以及仅在 View 加载时的可达性

swift - 如何检查可选的@ViewBuilder 内容