相关疑难解决方法(0)

Swift - 编码URL

如果我编码这样的字符串:

var escapedString = originalString.stringByAddingPercentEscapesUsingEncoding(NSUTF8StringEncoding)
Run Code Online (Sandbox Code Playgroud)

它不会逃避斜线/.

我搜索并找到了这个Objective C代码:

NSString *encodedString = (NSString *)CFURLCreateStringByAddingPercentEscapes(
                        NULL,
                        (CFStringRef)unencodedString,
                        NULL,
                        (CFStringRef)@"!*'();:@&=+$,/?%#[]",
                        kCFStringEncodingUTF8 );
Run Code Online (Sandbox Code Playgroud)

是否有更简单的方法来编码URL,如果没有,我如何在Swift中编写它?

urlencode ios swift

274
推荐指数
11
解决办法
20万
查看次数

在ios9中替换stringByAddingPercentEscapesUsingEncoding?

在iOS8和之前我可以使用:

NSString *str = ...; // some URL
NSString *result = [str stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
Run Code Online (Sandbox Code Playgroud)

在iOS9中stringByAddingPercentEscapesUsingEncoding已被替换为stringByAddingPercentEncodingWithAllowedCharacters:

NSString *str = ...; // some URL
NSCharacterSet *set = ???; // where to find set for NSUTF8StringEncoding?
NSString *result = [str stringByAddingPercentEncodingWithAllowedCharacters:set];
Run Code Online (Sandbox Code Playgroud)

我的问题是:在哪里找到所需的NSCharacterSet(NSUTF8StringEncoding)以便正确更换stringByAddingPercentEscapesUsingEncoding

url encoding objective-c deprecated ios

108
推荐指数
4
解决办法
8万
查看次数

stringByAddingPercentEscapesUsingEncoding在9.0中已弃用.如何做到这一点?

我是初级开发人员,我得到了一个代码:

(NSString *)encodedStringFromObject:(id)object {
    return [[object description] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];    
}
Run Code Online (Sandbox Code Playgroud)

但在9.0必须使用stringByAddingPercentEncodingWithAllowedCharacters.

我怎么能转移这段代码?我需要帮助,谢谢!

objective-c

27
推荐指数
1
解决办法
2万
查看次数

使用Swift从您的应用程序向WhatsApp发送消息?

对于我的一个应用程序,我想与WhatsApp联系人共享数据.我在StackOverflow上尝试了一些解决方案,但无法获得精确的解决方案.经过一些试验可以实现我想要的,所以在这里分享给任何人的未来参考.

ios whatsapp swift

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

Swift:如何在异步urlsession函数中返回一个值?

如您所见,我收到一个JSON文件,使用SwiftyJSON解析它,并尝试返回totalTime,但它不会让我.我该怎么做呢?

func googleDuration(origin: String, destination: String) -> Int{
    // do calculations origin and destiantion with google distance matrix api

    let originFix = origin.stringByReplacingOccurrencesOfString(" ", withString: "+", options: NSStringCompareOptions.LiteralSearch, range: nil);
    let destinationFix = destination.stringByReplacingOccurrencesOfString(" ", withString: "+", options: NSStringCompareOptions.LiteralSearch, range: nil);

    let urlAsString = "https://maps.googleapis.com/maps/api/distancematrix/json?origins="+originFix+"&destinations="+destinationFix;
    println(urlAsString);

    let url = NSURL(string: urlAsString)!
    let urlSession = NSURLSession.sharedSession()

    let task = urlSession.dataTaskWithURL(url, completionHandler: {data, response, error -> Void in
        if error != nil {
            // If there is an error in the web …
Run Code Online (Sandbox Code Playgroud)

json asynchronous nsurlsession swift

11
推荐指数
1
解决办法
2万
查看次数

如何在Swift中转义HTTP参数

我正在尝试向HTTP服务器发帖

顺便说一下这是我的代码:

  func sendPostToUrl(url:String, withParams params: [String: String?] ) {
    var request = NSMutableURLRequest(URL: NSURL(string: url)!)
    var session = NSURLSession.sharedSession()
    request.HTTPMethod = "POST"

    var err: NSError?
    var bodyData = ""
    for (key,value) in params{
        if (value==nil){ continue }
        let scapedKey = key.stringByAddingPercentEncodingWithAllowedCharacters(
                 .URLHostAllowedCharacterSet())!
        let scapedValue = value!.stringByAddingPercentEncodingWithAllowedCharacters(
                .URLHostAllowedCharacterSet())!
        bodyData += "\(scapedKey)=\(scapedValue)&"
    }
    request.HTTPBody = bodyData.dataUsingEncoding
               (NSUTF8StringEncoding, allowLossyConversion: true)

    var task = session.dataTaskWithRequest(request, 
    completionHandler: {data, response, error -> Void in
        println("Response: \(response)")
        let dataString = NSString(data: data, encoding: NSUTF8StringEncoding)
        println("Data: \(dataString)") …
Run Code Online (Sandbox Code Playgroud)

code-injection ios swift

4
推荐指数
1
解决办法
3913
查看次数

在Swift中的WebService中传递参数

我正在学习Swift,我不知道如何使用Swift将参数发送到服务器.在Objective-C中,我们可以使用"%@"占位符来完成此操作.但是对于Swift应该怎么做,假设我有一个需要电子邮件和密码的登录web服务.

现在我想知道的是,我将如何发送logintextfieldpasswordtextfield文本到服务器,例如,

var bodyData = "email=logintextfield.text&password=passwordtextfield.text"
Run Code Online (Sandbox Code Playgroud)

ios swift

2
推荐指数
1
解决办法
9084
查看次数