相关疑难解决方法(0)

Swift:生成一个(Swift)字符数组

简单的问题 - 希望,我正在尝试生成一个简单的字符数组,其中包括:

// trying to do something like this (pseudo code):
let letters:[Character] = map(0..<26) { i in 'a' + i }
Run Code Online (Sandbox Code Playgroud)

并尝试了以下无济于事

let a = Character("a")
let z = Character("z")
let r:Range<Character> = a..<z
let letters:[Character] = map(a..<z) { i in i }
Run Code Online (Sandbox Code Playgroud)

我意识到Swift使用Unicode,这样做的正确方法是什么?

(注意,这不是关于与传统Obj-C char互操作的问题,严格来说在Swift中进行测试等).

string macos xcode ios swift

12
推荐指数
4
解决办法
8488
查看次数

字符串比较如何在Swift中发生

在这个例子中:

var str1 = "hello"
var str2 = "Hello"

if str1 < str2 { print("hello is less than Hello")}
else {print("hello is more than Hello")}
Run Code Online (Sandbox Code Playgroud)

在什么基础上发现str1大于str2?

string swift

4
推荐指数
2
解决办法
2127
查看次数

从Swift中的一系列字符初始化String

在我们的代码中,我们发现了一个错误,即没有正确编写字母.而不是"0123456789abcdefghijklmnopqrstuvwxyz",我们有"0123456789abcdefghijklmnoqprstuvwxyz".所以我们想知道是否可以通过声明由字符范围制作的字符串来避免类似的拼写错误?

使用Swift 4.1+,我们尝试:

尝试1

let 1: String = "0"..."9" + "a"..."z"
Run Code Online (Sandbox Code Playgroud)

相邻运算符位于非关联优先级组"RangeFormationPrecedence"中

尝试2

let 2: String = ("0"..."9") + ("a"..."z")
Run Code Online (Sandbox Code Playgroud)

二元运算符'+'不能应用于两个' ClosedRange<String>'操作数

尝试3

let 3: String = String("0"..."9") + String("a"..."z")
Run Code Online (Sandbox Code Playgroud)

不能调用类型"字符串"初始化与类型"参数列表(ClosedRange<String>)"

尝试4

let 4: String = (Character("0")...Character("9")) + (Character("a")...Character("z"))
Run Code Online (Sandbox Code Playgroud)

二元运算符'+'不能应用于两个' ClosedRange<Character>'操作数

尝试5

let 5: String = String(Character("0")...Character("9")) + String(Character("a")...Character("z"))
Run Code Online (Sandbox Code Playgroud)

不能调用类型"字符串"初始化与类型"参数列表(ClosedRange<Character>)"

string swift swift4

4
推荐指数
2
解决办法
1576
查看次数

标签 统计

string ×3

swift ×3

ios ×1

macos ×1

swift4 ×1

xcode ×1