小编mar*_*ark的帖子

使异步alamofire请求同步

我试图在swift中执行alamofire post请求

func checkIfUserExistsInDB(userName: String) -> NSString
{

  print ("IN")
  var info: NSString = ""

  Alamofire.request(.POST, "http://blablabla.com/getuserdata", parameters: ["queryValue": userName,], encoding:.JSON).responseJSON { request, response, result in
    switch result {
    case .Success(let JSON):
        info = NSString(data: JSON.dataUsingEncoding(NSUTF8StringEncoding)!, encoding: NSUTF8StringEncoding)!

    case .Failure(let data, _):
        print ("IN")
        if let data = data {
            info = (NSString(data: data, encoding: NSUTF8StringEncoding)!)

            print (info)
        }

    }
  }

  return info
}
Run Code Online (Sandbox Code Playgroud)

但我遇到麻烦同步.我知道制作异步功能(如Alamorfire提供的功能)通常不被接受,但在我的情况下,我必须同步进行.

asynchronous synchronous ios swift alamofire

5
推荐指数
1
解决办法
6356
查看次数

从c中的函数初始化静态const变量

我最近在尝试执行以下逻辑时遇到了一些麻烦:

static const int size = getSize();

int getSize() {
    return 50;
}
Run Code Online (Sandbox Code Playgroud)

我收到的错误是initialiser element is not constant

在线阅读后,我了解到这个问题是因为编译器static const在编译时评估表达式,因此无法知道该值应该是什么。

我的问题是如何解决这个问题?

如果我有一个包含许多函数的库,但它们都需要这个逻辑,他们应该如何使用它而不必每次都计算它?

即使他们必须这样做,如果逻辑本身可以在整个运行时发生变化,但我只想要从函数收到的第一个值怎么办?

也许我应该澄清一下 getSize 中的逻辑只是一个示例,它还可以包含从特定文件检索文件大小的逻辑。

c static gcc constants

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

标签 统计

alamofire ×1

asynchronous ×1

c ×1

constants ×1

gcc ×1

ios ×1

static ×1

swift ×1

synchronous ×1