小编jpm*_*mcc的帖子

不调用UIAlertAction处理程序

我有一个UITableView,在委托(视图控制器)中,我实现了该功能

    tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath)
Run Code Online (Sandbox Code Playgroud)

然后我测试编辑风格

    if editingStyle == UITableViewCellEditingStyle.Delete {
        // do deleting stuff here
    }
Run Code Online (Sandbox Code Playgroud)

作为删除的一部分,我要求用户确认,如果他们选择"是",则与该行相关的项目将被删除,如果他们选择否,则重置编辑样式.

  var alert = UIAlertController(title: "Delete Item", message: "Are you sure you want to delete the selected item?", preferredStyle: UIAlertControllerStyle.Alert)

  //delete
  alert.addAction(UIAlertAction(title: "Yes", style: UIAlertActionStyle.Destructive, handler: { (action: UIAlertAction!) -> Void in
      println("Yes action was selected")
      //delete my object and remove from the table
  }))

  //cancel
  alert.addAction(UIAlertAction(title: "Cancel", style: UIAlertActionStyle.Cancel, handler: { (action: UIAlertAction!) -> Void in
      //reset editing …
Run Code Online (Sandbox Code Playgroud)

ios swift uialertcontroller uialertaction

6
推荐指数
3
解决办法
1864
查看次数

可以在 Angular2 中设置 http 使用的 User-Agent 标头吗?

这不是世界末日,但如果有的话那就太好了

目前正在使用Ionic 2构建混合应用程序,并且我正在向服务器 API 发送请求。

我想让用户代理字符串报告应用程序和版本(以及平台),例如MyApp V1.0 (iOS)

目前我正在发送如下请求:

http.post(my_server_url, JSON.stringify(dataToSend), options)
Run Code Online (Sandbox Code Playgroud)

选项对象的构造如下:

let options = {
    headers: myHeaders
};
Run Code Online (Sandbox Code Playgroud)

标头构造为:

let myHeaders = new Headers();
headers.append('Content-Type', 'application/json');
headers.append('User-Agent', 'MyApp V1.0 (iOS)');
Run Code Online (Sandbox Code Playgroud)

用户代理是使用特定于平台的数据构建的,上面只是用于此问题的直接字符串。

请求按预期工作,服务器接收数据并进行相应操作。服务器发送适当的请求并得到正确的处理。但是,当我检查实际发送的标头时,用户代理不是我设置的。

例如,在 iPhone 上,我看到以下用户代理(均通过 Safari 开发人员工具以及服务器日志进行检查):

Mozilla/5.0 (iPhone; CPU iPhone OS 10_0_2 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko)
Run Code Online (Sandbox Code Playgroud)

这是基于正在使用的包装网络视图。因此,我猜测存在某种机制阻止我覆盖用户代理。

作为同一个应用程序的一部分,我正在上传文件并使用cordova 文件传输插件。我设置了该传输的标头(不使用 Angular http),并且用户代理在服务器日志中正确报告。

因此,正如问题所述,有没有办法使用 Angular http 设置自定义 User-Agent 标头?

http-headers angular

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