ios - 使用字符进行字符串格式化会崩溃

标签 ios swift string

var modifiedString: String {       

    var outString = String()
        for thisChar in self.characters {
            if (thisChar == " "){
                outString.appendingFormat("%%02X",thisChar ) // This line is asking me unwrap as CVarArg
                outString.appendingFormat("%%02X",thisChar as! CVarArg) // This line crashes
            }
        }
    }
}

我正在尝试使用outString.appendingFormat("%%02X",thisChar) 但这行迫使我将其解开为 CVarArg ,但当我这样做时它崩溃了。这有什么问题

最佳答案

我假设它被放置在 String 扩展中。

发生错误是因为Character不符合CVarArg。您需要将其转换为符合 CVarArg 的类型,而不是直接将字符转换为 CVarArg。在这里,最好的选择是String:

outString.appendingFormat("%%02X", "\(thisChar)")

您还缺少返回声明。

但是,即使您这样做并且代码可以编译,您编写的属性仍然没有多大意义。我认为它没有按照您的预期工作,但如果没有更多信息,我无法确定。

关于ios - 使用字符进行字符串格式化会崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45615241/

相关文章:

c++ - 如何反转std::string?

ios - 表格 View 中的节数不等于我设置的

android - 在Android中将字符串转换为 double

ios - 2 个 UIButtons 设置 2 个 UIImageViews

ios - 在 Swift 中为 Objective C 函数提供 NSMutableArray 类型

ios - 数据未显示在表格 View 中

ios - 为什么 Firebase 报告错误的屏幕数据?

Python - 解析INI文本(不是INI文件)

ios - 应用程序在 iOS 13 上崩溃,因为从 -traitCollection 返回 nil,这是不允许的

ios - 在 Collection View Cell 中实现类似按钮