【发布时间】:2018-08-09 17:39:56
【问题描述】:
我正在开发自定义键盘。我在过滤字符串数组时遇到问题。我只想在if 语句中过滤数组,我有一个包含字母和空字符串的数组。我只想在if 语句中过滤数组,因为我想删除最后一个字符,而不是空字符串。
这是我的代码:
keyboardKeyStr = ["h", "e", "l", "l", "o", " ", "", "t", "h", "i", "s", "", "i", "s", " ", "m", "y", " ", "", "a", "r", "r", "a", "y", " "]
if range.length == 1 && text.count == 0 {
print("Delete Button")
let emptyStr: String? = ""
keyboardKeyStr = keyboardKeyStr.filter {$0 != emptyStr}
keyboardKeyStr.removeLast()
keyboardKeyArr.append(keyboardView.deleteBtn)
self.keyboardKeyStr.append("")
}
【问题讨论】:
-
你的问题有点混乱。您应该添加一个示例数组和预期的结果。顺便说一句,您可以将
text.count == 0替换为text.isEmpty,将filter {$0 != emptyStr}替换为filter {!$0.isEmpty},并删除let emptyStr行。为什么将emptyStr声明为可选但分配非可选值?不要注释比编译器可以推断的更差的类型。 -
我已经编辑过了,数组是这样的
-
@SandrikaJanjghava 您没有包含预期的结果。 (您收到了什么结果,您希望得到什么结果,为什么?)
标签: arrays swift string filter