iPhone:如何使用 Xcode 向 Web 服务发送 HTTP 请求

2024-02-08

如何使用 Objective-C 向 Web 服务发送 HTTP 请求?我需要从 MySQL 数据库中获取一些数据,因此我需要发送请求以便获取数据。


编辑,因为这是一个热门问题,而且时间在不断流逝。 与此同时,Apple 引入了 NSJSONSerialization。看一下文档:https://developer.apple.com/documentation/foundation/jsonserialization https://developer.apple.com/documentation/foundation/jsonserialization仅当您需要为 5.0 之前的 iOS 创建代码时,您可能需要使用下面提到的 json-framwork。

除此之外,以下原始答案仍然有效:

假设您以 JSON 格式交换数据,您可能有兴趣阅读本文。http://iosdevelopertips.com/cocoa/json-framework-for-iphone-part-2.html http://iosdevelopertips.com/cocoa/json-framework-for-iphone-part-2.html

但是,该文章的第一部分回答了有关如何从 Web 服务器/服务接收数据的更普遍的问题:

- (NSString *)stringWithUrl:(NSURL *)url
{
    NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url
                                                    cachePolicy:NSURLRequestReturnCacheDataElseLoad
                                                    timeoutInterval:30];
        // Fetch the JSON response
    NSData *urlData;
    NSURLResponse *response;
    NSError *error;

    // Make synchronous request
    urlData = [NSURLConnection sendSynchronousRequest:urlRequest
                                        returningResponse:&response
                                                    error:&error];

    // Construct a String around the Data from the response
    return [[NSString alloc] initWithData:urlData encoding:NSUTF8StringEncoding];
}

这是一个简单的 http 请求示例,对于您的后续步骤来说肯定足够了。 该方法给出一个 URL,并以 NSString 形式返回服务器发送的数据。

一旦正常工作,您将希望避免您的应用程序在请求“播出”时冻结。 您可以通过异步请求来解决这个问题。 Google 或 stackoverflow 上的搜索将为您提供相关示例和教程的链接。但我建议先从这里开始,尽管这可能不是最终的解决方案。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iPhone:如何使用 Xcode 向 Web 服务发送 HTTP 请求 的相关文章

  • 使用 Objective-C 在 iPhone 应用程序中显示或隐藏 UIButton

    我在用UITextView编辑文本 我想用两个UIButtons编辑并保存 最初我想显示编辑UIButton 当用户单击编辑时我想显示保存UIButton 当内容成功保存后 我不想再显示保存按钮 我是一名 C 编码员 在 C 中我曾经这样做
  • 使用 Push Transition 效果更改 RootViewcontroller

    在我的iOS应用程序中 我需要更改应用程序之间窗口的rootviewController 因此 当我动态更改我的rootviewcontroller时 它会在更改之前轻拂视图 但我想要的是在更改rootviewcontroller时提供平滑
  • iOS 4.2.1 丢失文件?

    这是我第一次使用最新的 xcode 3 2 5 和新的 iOS 4 2 1 当我在设备上运行应用程序时 我收到以下运行时错误 无法读取 Developer Platforms iPhoneOS platform DeviceSupport
  • 如何在 RestKit 中为同一类提供两条发布路线

    由于我无法弄清楚如何为同一个类设置两个不同的 POST 资源路径 因此我尝试手动创建 RKObjectLoader 请求 但它似乎不断发送 GET 请求而不是 POST 即使我已将方法设置为邮政 这是我的代码 User user User
  • 使用隐藏的 SFSafariViewController 获取 Safari cookie

    我正在阅读以下关于从移动网页到本机 iOS 9 应用程序对用户进行身份验证的文章 并且想知道如何最好地实现类似于下面讨论的隐藏控制器的隐藏 safari 视图控制器 https library launchkit io how ios 9
  • 在 Interface Builder 中的资产目录上使用图像

    是否可以直接在界面生成器上使用添加到资产目录中的图像 这是怎么做到的 在 UIImageView 属性上 我看不到任何引用资产目录上任何图像的选项 Import the images into the xcassets folder 单击右
  • UIBezierPath 的起始和结束角度?

    我在 iOS 中使用如下代码编写了半圆UI贝塞尔路径 and CAShape层 clockWiseLayer CAShapeLayer alloc init CGFloat startAngle M PI 2 CGFloat endAngl
  • 如何从 NSString 中删除十六进制字符

    我面临一个与字符串中的某些十六进制值相关的问题 我需要从字符串中删除十六进制字符 The problem is when i print object it prints as BLANK line And in debug mode it
  • 切换到工作区并在 Xcode 中添加 CocoaPods 后提交 git 吗?

    我刚刚在 Xcode 5 中将 CocoaPods 添加到我当前的项目中 当然 CocoaPods 创建了一个工作区 并且我已在 Xcode 中启动了该工作区 我在工作区中看到了我的项目和 Pods 项目 我的项目从第一天起就处于源代码控制
  • iOS 中的等宽字体是什么?

    我想要在我的 iOS 应用程序中为 UILabel 使用等宽字体 不幸的是 我找不到一个 甚至 美国打字机 实际上也不是等宽的 XCode 中可用的等宽字体是什么 iOS 等宽字体 Courier Courier Bold Courier
  • 如何使用 ZBar 读取器的 scanCrop 属性?

    我正在使用 iPhone 的 ZBar SDK 来扫描条形码 我希望阅读器仅扫描特定的矩形而不是整个视图 为此需要将阅读器的 scanCrop 属性设置为所需的矩形 我很难理解必须设置的矩形参数 有人可以告诉我如果在纵向视图上它的坐标是 我
  • 如何将十六进制数组转换为 UIImage?

    有几个与使用 P25mi 动态打印图像相关的未解答问题 没有一个得到公认的答案 下面有几个链接 如何将图像转换为位图代码以便在 iPhone 中进行蓝牙打印 https stackoverflow com questions 1383828
  • 在 Swift 中检查一个数组是否包含另一个数组的所有元素

    我想为数组编写一个扩展来检查一个数组是否包含另一个数组的所有元素 在我的用例中它是字符串对象 但我一直得到 Cannot convert value of type T Generator Element to expected argum
  • SecItemAdd 创建两个身份

    我正在为 iPhone 开发一个应用程序 需要证书来调用某些服务 因此我将证书添加到我的钥匙串中 执行以下操作 SecCertificateRef cert SecCertificateCreateWithData NULL bridge
  • UIImage:如何获取网站选项卡图标

    我正在开发一个 RSS 阅读器 我需要获取每个提要的图标 例如 如果我的提要是 google com 我想获取 G 图标并将其放入 UIImage 或其他内容中 关于如何实现这一目标有什么想法吗 最简单的方法是使用 Google NSStr
  • Monotouch 和本机 iOS 代码

    是否可以将使用 monotouch 编译的 C 库与单个应用程序中的 Objective C 前端链接起来 或者该应用程序必须是全部还是全无 这是可能的 但您不会从 MonoTouch 工具获得任何帮助 并且您无法摆脱这样一个事实 您仍然需
  • Cognito/IAM 策略和 S3 获取对象

    我正在尝试将 S3 和 Cognito 集成到我的 iOS 应用程序中 但到目前为止尚未成功 我相信该错误与我针对 Auth 和 Unauth 用户的 IAM 策略有关 所以这是我的政策 Version 2012 10 17 Stateme
  • 如何在ios中以编程方式添加水平间距和垂直间距?

    我在 ios 8 中创建了一个应用程序 因为我有 4 个可垂直使用的标签 它应该在某些条件下更改位置 所以我已禁用自动布局并以编程方式设置约束 现在的问题是 我可以设置水平和垂直位置 宽度和高度的约束 但我找不到任何方法来添加标签之间的水平
  • NSMenuItem、自定义视图和 mouseUp 的奇怪问题:

    我在这里遇到了一个非常非常奇怪的 NSMenu 问题 我使用的大约一半的 NSMenuItems 通过 NSMenuItem 上的 setView 方法具有自定义视图 在此自定义视图中 我实现了 mouseUp 来捕获用户单击菜单项的时间
  • 如何使用 afnetworking 在后台上传任务

    我正在尝试使用 AFNetworking 上传大文件 并在应用程序处于后台时继续上传 我可以很好地上传文件 但是当我尝试使用后台配置时 应用程序崩溃并显示以下堆栈跟踪 异常 EXC BAD ACCESS 代码 1 地址 0x8000001f

随机推荐

  • 如何在Flutter中绘制带有尖角三角形的线?

    我正在考虑实施以下设计 如何实现如上图所示的线上的三角形凹凸 我是颤振的新手 对如何开始这方面一无所知 很简单 你只需要了解如何使用剪刀即可 方法如下 你需要使用ClipPath override Widget build BuildCon
  • AngularJS 两个 http get 在一个控制器中会出现问题

    我在一个控制器中有两个 http GET 有时它可以工作 并且其中两个正在工作 有时只有一个 http Get 可以工作 有时它们都没有显示 有什么建议么 controller nextSidorAdminCtrl function sco
  • Firebase 数据库安全,无需 Firebase 身份验证

    我在 Play 商店上发布了一个应用程序 我想在该应用程序中实现 firebase 我已阅读所有文档 但有两个疑问 如果有人在我的应用程序中使用 apk 反编译器并获取 google services json 他们可以对数据库做任何他们想
  • 如何将 CKFinder 与 Laravel 集成?

    我正在尝试将 CKFinder 与 Laravel 集成 我已经完成了 95 左右 我可以让一切正常工作 除了CheckAuthentication功能 我必须做到return true无论上传是否有效 我尝试做的是在 config php
  • 如何获取按计数列排序的组

    很难用简单的英语问这个问题 所以我会展示我正在尝试做的事情 这是我的 SQL 代码 select top 100 Name COUNT Name as total from ActivityLog where Timestamp betwe
  • 如何预加载 .net 程序集

    在我的工作中 我们正在使用 net Framework 4开发不同的应用程序 所有应用程序都使用我们开发的通用程序集 例如data dll中的数据层 这些应用程序驻留在网络驱动器上并直接从那里启动 大多数大型应用程序第一次启动 冷启动 需要
  • 在python中将数字表示为二的幂之和的最快方法是什么

    例如 gt gt gt two powers 42 gt gt gt 2 8 32 我目前的幼稚实现 取自here https stackoverflow com a 27936818 1177288 看起来像那样 def two powe
  • 如何优雅地停止单节点 kubernetes 集群

    我已经根据 官方教程 1 设置了单节点kubernetes 除了官方文档之外 我还设置了单节点集群 kubectl taint nodes all node role kubernetes io master 残疾人驱逐限制 cat lt
  • Windows 窗体,从父窗体获取属性

    我遇到了一点问题 我在父表单中有一个数据表 我打开一个对话框表单 获取数据表属性并创建一个复选框列表 这将用于导出这些列 但是当我运行应用程序时 parentform 属性为空 我尝试在父窗体和对话框窗体中设置它 我假设如果调用 ShowD
  • 我在哪里弄乱了输出格式?

    因此 当我尝试运行代码时收到一条错误消息 但我无法弄清楚问题到底是什么 它说这是一个 ValueError 但我不知道到底是哪一个 也许只是迟到了 但我却不知所措 这是我的代码 def sort count dict avg scores
  • 为Android应用程序设置图标

    如何为我的 Android 应用程序设置图标 如果您希望您的应用程序在多种设备上可用 您应该将应用程序图标放在不同的位置res drawable 提供的文件夹 在每个文件夹中 您应该包含一个 48dp 大小的图标 drawable ldpi
  • go helm 图表模板中的循环[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我正在尝试在 kubernetes helm 图表中循环计数 如下所示 reaction mongo url big mongodb for m
  • TypeScript 将camelCase 键转换为snake_case

    想象一下 我们有一些具有驼峰命名法属性的对象类型 type Foo propertyBob string propertyJane number 有没有办法创建一个将camelCase转换为snake case的泛型 例如 type foo
  • 发布操作:“提交助手应用程序时出错”,没有显示错误

    我正在尝试发布我的第一个 Google Assistant 操作 但在尝试提交应用程序时 控制台告诉我 提交助理应用程序时出错 但没有任何详细信息 是否有任何日志或其他内容可以为我提供有关在提交之前需要修复的更多详细信息 我迷路了 谢谢 许
  • Pytorch RuntimeError:CUDA 内存不足且有大量可用内存

    在训练模型时 我遇到了以下问题 RuntimeError CUDA out of memory Tried to allocate 304 00 MiB GPU 0 8 00 GiB total capacity 142 76 MiB al
  • 使用 NetBeans 6.8 进行 XSLT 自动完成

    我记得当时NetBeans 6中支持XSLT 现在我使用NetBeans 6 8 但仍然找不到这样的插件 你能帮助我吗 工具 gt 插件 gt 设置添加http updates netbeans org netbeans updates 6
  • 优化TreeView方法

    我有一个非常大的方法可以插入子元素TreeView 基本上我做了两个不同的查询 并在 I N 上设置了很小的更改 第一个 foreach 插入父级的第一个子级 第二个 foreach 插入之前创建的子级的子级 Foreach查询只是改变条件
  • Android 兼容包不包含 Activity.getFragmentManager()

    我开始尝试使用 3 月 3 日刚刚发布的 Android 兼容包向我的 Android 应用程序添加片段 该应用程序基于 2 1 我将该库包含到我的项目中 并开始将代码从基于 Activity 的类移动到基于 Fragment 的类 但我注
  • 如何在复杂的单元格中找到元素?

    我有一个复杂的元胞数组 例如 A 1 2 3 4 5 6 7 8 9 10 如何找到A中的元素 例如 我想检查 9 是否在 A 中 如果您的元胞数组可以有任意数量的嵌套级别 则只需递归所有级别即可检查值 这是一个可以执行此操作的函数 fun
  • iPhone:如何使用 Xcode 向 Web 服务发送 HTTP 请求

    如何使用 Objective C 向 Web 服务发送 HTTP 请求 我需要从 MySQL 数据库中获取一些数据 因此我需要发送请求以便获取数据 编辑 因为这是一个热门问题 而且时间在不断流逝 与此同时 Apple 引入了 NSJSONS