相关疑难解决方法(0)

如何从十六进制字符串创建UIColor?

如何UIColor十六进制字符串格式创建,例如#00FF00

cocoa-touch uicolor ios

533
推荐指数
16
解决办法
27万
查看次数

swift对String有修饰方法吗?

swift对String有修饰方法吗?例如:

let result = " abc ".trim()
// result == "abc"
Run Code Online (Sandbox Code Playgroud)

string trim swift

380
推荐指数
10
解决办法
17万
查看次数

查找Swift String中的字符索引

现在是承认失败的时候了......

在Objective-C中,我可以使用类似的东西:

NSString* str = @"abcdefghi";
[str rangeOfString:@"c"].location; // 2
Run Code Online (Sandbox Code Playgroud)

在Swift中,我看到类似的东西:

var str = "abcdefghi"
str.rangeOfString("c").startIndex
Run Code Online (Sandbox Code Playgroud)

...但是这只是给了我一个String.Index,我可以使用它来下标回原始字符串,但不从中提取位置.

FWIW,String.Index有一个私人ivar _position,它具有正确的价值.我只是看不出它是如何曝光的.

我知道我可以轻松地将它添加到String中.我对这个新API中缺少的东西更感兴趣.

string swift

194
推荐指数
10
解决办法
22万
查看次数

Swift:如何从字符的开头到最后一个索引获取子字符串

我想学习将字符串转换为另一个字符串的最佳/最简单的方法,但只有一个子集,从头开始并转到字符的最后一个索引.

例如,将"www.stackoverflow.com"转换为"www.stackoverflow".什么代码片段可以做到这一点,并且是最快速的?(我希望这不会带来争论,但我找不到关于如何处理Swift中的子串的好教训.

ios swift

103
推荐指数
11
解决办法
13万
查看次数

如何检查String在Swift中以(前缀)开头或以(后缀)结尾的内容

我正在尝试测试Swift字符串是否以某个值开始或结束.这些方法不存在:

var str = "Hello, playground"
str.startsWith("Hello") // error
str.endsWith("ground") // error
Run Code Online (Sandbox Code Playgroud)

我还想获得前缀和后缀字符串.我可以找到一个子串,正如这里这里所回答的那样,但范围在Swift中是如此痛苦.

有更简单的方法吗?

(当我阅读文档时,我偶然发现了答案,因为我的搜索条款没有得到答案,所以我在这里添加了问答.)

string ios swift

94
推荐指数
2
解决办法
5万
查看次数

如何获取字符串的最后4个字符?

我需要分隔一个字符串的最后4个字母.我怎么能分开呢?字符串的长度在变化.

例如:

var a = "StackOverFlow"
var last4 = a.lastFour //That's what I want to do
print(last4) //prints Flow
Run Code Online (Sandbox Code Playgroud)

string swift

75
推荐指数
2
解决办法
5万
查看次数

如何在Swift中使用substringToIndex?

我在这一行遇到编译器错误:

UIDevice.currentDevice().identifierForVendor.UUIDString.substringToIndex(8)
Run Code Online (Sandbox Code Playgroud)

类型'String.Index'不符合协议'IntegerLiteralConvertible'

我的意图是得到子串,但是如何?

substring swift

67
推荐指数
1
解决办法
6万
查看次数

类型'String.Index'不符合协议'IntegerLiteralConvertible'

使用Beta 3一切正常,现在我得到一个奇怪的错误,我不知道如何解决它.尝试了解类似问题的所有解决方案.

这是我的代码:

if !name.isEmpty {
        var splitted: [String] = name.componentsSeparatedByString(" ")

        for curPart in splitted {
            if !curPart.isEmpty {
                acronym += curPart.substringToIndex(1) //Error
            }
        }
        if (acronym as NSString).length > 2 {
            acronym = acronym.substringToIndex(2) //Error
        }
    }
Run Code Online (Sandbox Code Playgroud)

两条标记的线都给了我同样的错误:

类型'String.Index'不符合协议'IntegerLiteralConvertible'

有人能帮我吗?或者Beta 4被窃听?谢谢!

xcode ios swift

25
推荐指数
3
解决办法
1万
查看次数

在Swift中使用stringByReplacingCharactersInRange

我正在尝试在Swift/Xcode6中使用UITextFieldDelegate,我正在努力使用我应该使用stringByReplacingCharactersInRange的方式.编译器错误是'无法将表达式的类型'String'转换为'$ T8'类型.

func textField(textField: UITextField!, shouldChangeCharactersInRange range: NSRange, replacementString string: String!) -> Bool
{
    let s = textField.text.stringByReplacingCharactersInRange(range:range, withString:string)
    if countElements(s) > 0 {

    } else {

    }
    return true
}
Run Code Online (Sandbox Code Playgroud)

Xcode 6 Beta 5的更新:问题是theChangeCharactersInRange给出了一个NSRange对象,我们需要一个用于stringByReplacingCharactersInRange的Swift Range对象.这仍然可以被认为是一个错误,因为我不明白为什么我们仍然应该处理NS*对象?委托方法的String参数无论如何都是Swift类型.

swift

19
推荐指数
5
解决办法
3万
查看次数

如何将字符串拆分为相等长度的子字符串

所以

split("There are fourty-eight characters in this string", 20)
Run Code Online (Sandbox Code Playgroud)

应该回来

["There are fourty-eig", "ht characters in thi","s string"]
Run Code Online (Sandbox Code Playgroud)

如果我使currentIndex = string.startIndex,然后尝试进一步提前()它比string.endIndex,我得到"致命错误:不能增加endIndex"之前我检查我的currentIndex <string.endIndex所以下面的代码没有'工作

var string = "12345"
var currentIndex = string.startIndex
currentIndex = advance(currentIndex, 6)
if currentIndex > string.endIndex {currentIndex = string.endIndex}
Run Code Online (Sandbox Code Playgroud)

string swift swift2

17
推荐指数
6
解决办法
8495
查看次数

标签 统计

swift ×9

string ×5

ios ×4

cocoa-touch ×1

substring ×1

swift2 ×1

trim ×1

uicolor ×1

xcode ×1