小编cus*_*mar的帖子

如何在Swift中进行异步/等待?

我想模拟异步并等待从Javascript到Swift 4的请求.我搜索了很多关于如何做到这一点,我认为我找到了答案DispatchQueue,但我不明白它是如何工作的.

我想做一个简单的事情:

if let items = result.value {
    var availableBornes = [MGLPointFeature]()

    for item in items {
        guard let id = item.id else { continue }

        let coordinate = CLLocationCoordinate2D(latitude: Double(coor.x), longitude: Double(coor.y))

        // ...

        // This is an asynchronous request I want to wait
        await _ = directions.calculate(options) { (waypoints, routes, error) in
            guard error == nil else {
                print("Error calculating directions: \(error!)")
                return
            }

            // ...

            if let route = routes?.first {
                let distanceFormatter = …
Run Code Online (Sandbox Code Playgroud)

asynchronous ios async-await swift

12
推荐指数
6
解决办法
2万
查看次数

Waze不会从Swift加载导航

我将Waze集成到我的Swift应用程序中,但当我点击按钮时,Waze打开但导航没有任何反应.我很高兴看到应用程序,而不是启动导航.

这是代码:

@IBAction func openWazeAction(_ sender: Any) {
    // open waze
    if UIApplication.shared.canOpenURL(URL(string: "waze://")!) {
        let urlStr = String(format: "waze://ul?ll=%f,%f&navigate=yes", (selectedBorne?.location?.x)!, (selectedBorne?.location?.y)!)

        print(urlStr)

        UIApplication.shared.open(URL(string: urlStr)!)
    } else {
        UIApplication.shared.open(URL(string: "http://itunes.apple.com/us/app/id323229106")!)
    }
}
Run Code Online (Sandbox Code Playgroud)

print(urlStr)返回正确的网址:waze://ul?ll=48.792914,2.366290&navigate=yes,但没有发生在Waze的应用程序.

(我把LSApplicationQueriesSchemes放在Info.plist文件中.)

这有什么不对?

openurl ios swift swift3 waze

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

mongoose - 如何在 getter 中获取对象而不是对象引用?

我在 Node.js 中使用 mongoose 创建了一个 API。我将我的数据保存在一个集合 Transactions 中,它提供了来自其他集合对象的一些引用:

const mongoose = require('mongoose');
const { Schema } = mongoose;

const transactionSchema = new Schema({
  status: String,
  _user: { type: Schema.Types.ObjectId, ref: 'User' },
  _borne: { type: Schema.Types.ObjectId, ref: 'Borne' },
  createdAt: Date,
  updatedAt: Date
});
Run Code Online (Sandbox Code Playgroud)

当我查询交易时,我会得到 Borne 对象而不是它的 id,因为它保存在我的数据库中。我不直接将它保存为 Borne 对象,因为我的 Borne(或 User)对象中可能会出现一些更改,我希望将其保存在每个 Transaction 对象上。

所以我尝试使用虚拟或路径(覆盖),但它不会改变我的输出,我也不知道这是否是正确的方法:

// In this example, I try to change the status output by "new status" to test if it works, and it doesn't
transactionSchema.path('status')
    .get(function(value) { …
Run Code Online (Sandbox Code Playgroud)

javascript mongoose mongodb node.js mongoose-schema

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

如何修复Xcode中ScrollView后面的状态栏空间?

我在我的视图中添加了一个滚动视图,它悬停在状态栏上(我隐藏了它)。滚动视图工作正常,但是当我滚动到顶部时,我有一个空白区域,当我点击屏幕时它会消失,当我向下滚动然后顶部时再次出现。

我注意到滚动条没有到达我的视图顶部,而是停在状态栏上。

这是屏幕截图,向您展示了我的意思。

在这里,我处于视图的顶部,但滚动条不是:

这是与我再次滚动顶部时出现的白色状态栏相同的视图:

当我点击屏幕或向下滚动时,它就会消失。

这是我的限制条件:

约束

我认为这是布局边距或类似问题,但我不知道我应该改变什么?

我在视图控制器中隐藏了这样的状态栏:

override func viewWillAppear(_ animated: Bool) {
    UIApplication.shared.keyWindow?.windowLevel = UIWindowLevelStatusBar

    super.viewWillAppear(animated)
}
Run Code Online (Sandbox Code Playgroud)

编辑:即使我评论隐藏状态栏的行,我的滚动视图仍然有同样的问题。所以问题不在于我如何隐藏它。

uiscrollview ios uistoryboard swift swift3

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

PHP-会话在CodeIgniter 3中重定向后丢失

我想在CodeIgniter 3中获得帮助。每次登录并重定向到索引页面时,会话都会丢失。

这是我的代码:

控制器:

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Secretariat extends CI_Controller {
    public function __construct(){
        parent::__construct();
        $this->load->helper(array('form', 'url'));
        $this->load->model('SecretariatModel');
        $this->load->model('IndiRegModel');
        $this->load->model('RoomModel');
        $this->load->model('BuildingModel');
        $this->load->model('BilletModel');
        $this->load->model('BatchRegModel');
        $this->load->library('form_validation');
        $this->load->library('session');
    }

    public function secretariatLogin(){

        if ($this->session->isSecretariat){
            redirect('secretariat/index', $data);


        } else{

            $data['title'] = 'PACSA - Philippine Association of Campus Student Adviser';

            $this->load->view('include/toppage', $data);
            $this->load->view('include/defaultnavbar', $data);
            $this->load->view('pacsa/slider');
            $this->load->view('secretariat/secretariatLogin', $data);
            $this->load->view('include/bottompage');

       }

    }

    public function signin(){
        $secretariat = array(
            'sec_email' => $this->input->post('sec_email'),
            'sec_password' => sha1($this->input->post('sec_password'))
        );

        $user = $this->SecretariatModel->getSecretariat($secretariat);
        //print_r($user->name);die();

        if(!$user == …
Run Code Online (Sandbox Code Playgroud)

php session codeigniter

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

Express.js - req.query vs req.params

在将此标记为重复之前,请理解我无法从其他答案中获得我正在寻找的解释.

如果我正在做一个寻找基于URL ID的客户应用程序,是什么说的区别customers/1234,并使用req.paramscustomers?id=1234使用req.query?两个url数据方法的作用有何不同?

http url-routing node.js express express-router

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

Waze Deep Links坏了吗?

在iOS上,当我从我的应用程序启动应用程序时,我无法使Waze导航工作.似乎Waze Deep Links已经破产了.我是唯一一个有这个bug的人吗?如果Uber不使用Deep Links,Uber如何为司机工作?

这是我试过的,即使我在我的Safari移动浏览器中运行URL,Waze打开但是没有发生任何事情(我安装了Waze!):

waze://ul?ll=45.6906304,-120.810983&navigate=yes
Run Code Online (Sandbox Code Playgroud)

我在这里找到了一个相对的问题,但问题出在Android上,我的是在iOS上.它应该工作.

ios waze

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

将外部JS文件链接到Prestashop

我在Prestashop 1.7中创建了一个自定义模块,并且尝试了许多解决方案,但没有解决任何问题。

我会将外部JS文件添加到安装模块的网站的页眉或页脚(并且仅在安装时)。

<script src="https://cdn.monurl.com/file.js"></script> // JS file to include
Run Code Online (Sandbox Code Playgroud)

我试图addJS()displayHeader挂钩中使用该方法:

public function hookDisplayHeader($params)
{
    if (!$this->active)
        return;

    $this->context->controller->addJS('https://cdn.monurl.com/file.js');
}

public function install()
{
    return parent::install() && $this->registerHook('displayHeader');
}
Run Code Online (Sandbox Code Playgroud)

我做了很多测试,然后hookDisplayHeader()调用了该函数,但是我的JS文件没有出现在<head>页面的中。

Prestashop文档是有限的,但是经过大量研究,我认为我只能对addJS()内部JS文件使用该方法。我对吗?

如何将外部JS文件添加到页眉(或之前的页脚</body>)中?

javascript prestashop prestashop-1.7

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