2014-10-14 4 views
0

Я пытаюсь решить следующие проблемы с использованием Swift:stringByAddingPercentEscapesUsingEncoding (NSUTF8StringEncoding) возвращает Дополнительно в Swift

1) Факультативные? Вместо того, чтобы возвращать «1% 20Market% 20Street,% 20San% 20Francisco,% 20CA% 2094107», как мне бы хотелось, почему следующий код возвращается «Необязательно» («1% 20Market% 20Street,% 20San% 20Francisco,% 20CA% 2094107 ")"

println("\(address.stringByAddingPercentEscapesUsingEncoding(NSUTF8StringEncoding))") 

2) Как заменить запятые% 2C?

ответ

1

вы можете использовать этот

let tempString: String? = "1%20Market%20Street,%20San%20Francisco,%20CA%2094107" 
if tempString != nil 
{ 
    let newString = tempString!.stringByReplacingOccurrencesOfString(",", withString: "%2C", options: NSStringCompareOptions.LiteralSearch, range: nil) 
} 

возвращает необязательными, потому что иногда этот метод возврата ноль.

2

1)

Используйте либо

println("\(address.stringByAddingPercentEscapesUsingEncoding(NSUTF8StringEncoding)!)") 

Обратите внимание на ! - он извлекает дополнительную ценность.

Или

if let str = address.stringByAddingPercentEscapesUsingEncoding(NSUTF8StringEncoding) { 
    println(str) 
} 

2)

Вы можете использовать что-то вроде:

let stringWithCommas = "Hello,World" 
let stringWithReplacedCommas = stringWithCommas.stringByReplacingOccurrencesOfString(",", withString: "%2C", options: NSStringCompareOptions.LiteralSearch, range: nil) 
0

1.Да возвращает необязательное значение, поскольку это может возвращать ноль значение, которое является обязательным в Свифт подробно узнать о дополнительных значениях следующим образом: here

var newString = String() 

if let optionalString = newString.stringByAddingPercentEscapesUsingEncoding(NSUTF8StringEncoding) 
{ 
    newString = "1%20Market%20Street,%20San%20Francisco,%20CA%2094107" 
} 

// 2. To replace , with %2C 

newString.stringByReplacingOccurrencesOfString(",", withString: "%2C", options: NSStringCompareOptions.LiteralSearch, range: nil) 
Смежные вопросы