小编Igo*_*aev的帖子

使用Alamofire处理超时

是否可以为Alamofire请求添加超时处理程序?

在我的项目中,我使用Alamofire:

init() {
    let configuration = NSURLSessionConfiguration.defaultSessionConfiguration()
    configuration.timeoutIntervalForRequest = 30

    self.alamofireManager = Alamofire.Manager(configuration: configuration)
}

func requestAuthorizationWithEmail(email:NSString, password:NSString, completion: (result: RequestResult) -> Void) {

    self.alamofireManager!.request(.POST, "myURL", parameters:["email": email, "password":password])
        .responseJSON { response in
            switch response.result {
            case .Success(let JSON):
                //do json stuff
            case .Failure(let error):
                print("\n\nAuth request failed with error:\n \(error)")
                completion(result: .ConnectionFailed)
            }
    }
}
Run Code Online (Sandbox Code Playgroud)

编辑:

请求失败消息

错误域= NSURLErrorDomain代码= -1001"请求超时." UserInfo = {NSUnderlyingError = 0x7fc10b937320 {Error Domain = kCFErrorDomainCFNetwork Code = -1001"(null)"UserInfo = {_ kCFStreamErrorCodeKey = -2102,_kCFStreamErrorDomainKey = …

swift alamofire

37
推荐指数
5
解决办法
4万
查看次数

使用Docker创建慢django模型实例

我有一些模型的django应用程序.我有manage.py创建n模型的命令并将其保存到db.它在我的主机上运行速度不错.

但是,如果我在docker中运行它,它运行速度很慢,创建了1个实例并在40-50秒内保存.我想我错过了Docker如何工作的东西,有人可以指出为什么性能低,我能用它做什么?

docker-compose.yml:

version: '2'

services:
  db:
    restart: always
    image: "postgres:9.6"
    ports:
      - "5432:5432"
    volumes:
      - /usr/local/var/postgres:/var/lib/postgresql
    environment:
      - POSTGRES_PASSWORD=postgres
      - POSTGRES_DB=my_db
      - POSTGRES_USER=postgres

  web:
    build: .
    command: bash -c "./wait-for-it.sh db:5432 --timeout=15; python manage.py migrate; python manage.py runserver 0.0.0.0:8000; python manage.py mock 5"
    ports:
      - "8000:8000"
    expose:
      - "8000"
    depends_on:
      - db
Run Code Online (Sandbox Code Playgroud)

用于Web服务的dockerfile:

FROM python:3.6
ENV PYTHONBUFFERED 1
ADD . .
WORKDIR .
RUN pip install -r requirements.txt
RUN chmod +x wait-for-it.sh
Run Code Online (Sandbox Code Playgroud)

python django postgresql docker

10
推荐指数
2
解决办法
903
查看次数

以面向协议的方式实施活动指示器

我想创建协议,当它们符合此协议时,它将使我能够向UIViewController及其子类添加活动指示符/从UIViewController及其子类中移除活动指示符。

所以我最终得到了这样的代码

protocol ActivityIndicatorPresenter {
    var activityIndicator: UIActivityIndicatorView { get }
    func showActivityIndicator()
    func hideActivityIndicator()
}

extension ActivityIndicatorPresenter where Self: UIViewController {
    func showActivityIndicator() {
        dispatch_async(dispatch_get_main_queue()) {
            self.activityIndicator.color = UIColor.blackColor()
            self.activityIndicator.frame = CGRect(x: 0.0, y: 0.0, width: 80.0, height: 80.0)
            self.activityIndicator.center = CGPoint(x:self.view.bounds.size.width / 2, y:self.view.bounds.size.height / 2)
            self.view.addSubview(self.activityIndicator)
            self.activityIndicator.startAnimating()
    }
}

    func hideActivityIndicator() {
        dispatch_async(dispatch_get_main_queue()) {
            self.activityIndicator.stopAnimating()
            self.activityIndicator.removeFromSuperview()
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

并在UIViewController的子类中:

class MyViewController: ActivityIndicatorPresenter {
    var activityIndicator: UIActivityIndicator { get {return self.spinner}}
    var spinner = UIActivityIndicator()
}
Run Code Online (Sandbox Code Playgroud)

一切正常,但我认为在计算属性的getter中返回存储的属性是一种解决方法。是更漂亮的实现方式吗?

swift swift-protocols

5
推荐指数
0
解决办法
565
查看次数

在 VSCode 中禁用 python 关键字的悬停提示

我想禁用 python 关键字的悬停提示(例如 import),但保留 linter 消息。我怎样才能做到这一点? 在此输入图像描述

更新:settings.json

{
  "python.pythonPath": "venv/bin/python",
  "python.formatting.provider": "black",
  "python.linting.enabled": true,
  "python.linting.pylintEnabled": false,
  "python.jediEnabled": false,
  "python.linting.flake8Enabled": true,
  "python.languageServer": "Jedi",
}
Run Code Online (Sandbox Code Playgroud)

python visual-studio-code

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

每次更改时打印 UINavigationController 堆栈的值

是否可以在每次更改时在控制台中打印变量的值,最方便的方法是什么?

编辑:我想跟踪 UINavigationController 的控制器堆栈的值

uinavigationcontroller ios swift

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

在PyCharm终端中启动/ usr / bin / login而不是/ bin / bash

更新到PyCharm 2016.3后,我的终端已更改。在2016.2中,它启动了与iTerm或Terminal相同的功能。现在,我应该运行/ usr / bin / login来实现它,因为PyCharm仅调用/ bin / bash,并且如果我在首选项终端中将shell路径更改为/ usr / bin / login,则启动后它将立即崩溃。我认为发生这种情况是因为/ usr / bin / login需要登录名和密码。

我有些困惑,经过一些研究无法弄清楚到底是怎么回事,以及我应该如何像iTerm中那样启动shell。有人可以澄清一下吗?

UPD: 2016.3.2(在我的情况下)已修复

bash shell pycharm

0
推荐指数
1
解决办法
593
查看次数