博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在xcode中用 swift 进行网络服务请求
阅读量:4540 次
发布时间:2019-06-08

本文共 3331 字,大约阅读时间需要 11 分钟。

  xcode集成开发环境是运行于Mac苹果电脑上用于开发swift应用程序的工具,利用xcode可以很方便、直观的开发OS X和iOS系统所支持的应用程序。

1 开发环境:

   Mac OS 10.11

   Xcode 7.3.1

2 用Xcode创建一个swift项目

这里选择Single View application,后续可以用[editor]菜单进行调整。

3 添加导航栏

在main.storyboard中选中默认的viewcontroller,然后单击菜单[Editor]->[Embed in]->[Navigation Controller],如下图所示:

操作成功后,设计器中就会出现2个有关联的view,如下所示:

这时候,我们就可以拖动相关控件到View Controller上。

拖放好控件后,可以用xcode将UI上的控件拖放到后台源码中进行前后台关联,如下图:

如果遇到无法进行关联,可能是由于UI和后台文件没有正确的关联,或者当前两个文件不匹配。

4 导入第三方库

   先下载Alamofire源码包,然后将Alamofire整个文件拖放到上面创建的项目根目录中,然后将Alamofire.xcodeproj拖放到主项目下

关联后,可以用command+B j进行编译,看有无错误。

这里用同样的方法导入swiftjson等库

5 代码逻辑编写

////  MyWebViewController.swift//  swiftapp////  Created by Jackwang on 16/8/12.//  Copyright © 2016年 Jackwang . All rights reserved.//import UIKitimport Alamofireimport SwiftyJSONimport ObjectMapperimport SCLAlertView;class MyWebViewController: UIViewController {    @IBOutlet weak var btnReLoad: UIBarButtonItem!    @IBOutlet weak var btnBack: UIBarButtonItem!    @IBOutlet weak var btnHome: UIBarButtonItem!    override func viewDidLoad() {        super.viewDidLoad()        // Do any additional setup after loading the view, typically from a nib.                btnHome.title = "首页";                //https://github.com/Alamofire/Alamofire                Alamofire.request(.GET, "http://192.168.180.159:9888/MicroServiceAPI.ashx", parameters: ["uname": "admin","upwd":"EAS","api":"api.getUsers"])            .validate()            .responseJSON { response in                switch response.result {                case .Success:                    print("Validation Successful")                    if let strJSON = response.result.value {                        print("JSON: \(strJSON)")                                                //https://github.com/SwiftyJSON/SwiftyJSON                        let json = JSON(strJSON)                        print(json["Code"])                        print(json["IsSuccess"])                        print(json["Message"])                        print(json["DTData"][0]["Name"]) //null                                                                        if json["IsSuccess"].int !=  nil {                            print("Login Sucess")                            // Get started                            SCLAlertView().showInfo("Login Sucess", subTitle: "welcome to app")                        }                        if json["DTData"].string !=  nil {                             SCLAlertView().showInfo("Login data", subTitle: "welcome to app")                        }                        //SCLAlertView().showInfo("ok", subTitle: "welcome to app")                                            }                                    case .Failure(let error):                    print(error)                }        }                                    }    override func didReceiveMemoryWarning() {        super.didReceiveMemoryWarning()        // Dispose of any resources that can be recreated.    }    @IBAction func btnHomeTapped(sender: UIBarButtonItem) {                print("GoHome")    }    @IBAction func btnReloadTapped(sender: UIBarButtonItem) {         print("ReLoad")    }}

6 编译运行

首次运行,如果没有配置info.plist,会报错误.这里需要打开info.plist文件,单击[+],然后添加

App Transport Security Settings

在其子项目下设置Allow Arbitrary Loads为YES.

 

  

转载于:https://www.cnblogs.com/isaboy/p/xcode_swift_web_json_Alamofire.html

你可能感兴趣的文章
CoreData的使用-1
查看>>
阿里云安装samba
查看>>
jsonp跨域
查看>>
day1-xml语言
查看>>
有谁知道瑞星在windows登录界面图标按钮是如何放上去的吗
查看>>
Delphi高效的字符串处理
查看>>
消息中间件ActiveMQ、RabbitMQ、RocketMQ、ZeroMQ、Kafka如何选型?
查看>>
带宽的理解
查看>>
一、简单工厂模式
查看>>
查询出结果 给其 加上序号的方法 msql
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第2节 线程实现方式_1_并发与并行...
查看>>
asp.net web.config配置节说明(转发)
查看>>
PPT幻灯片放映时无法全屏的解决方法
查看>>
开发中少不了的Fun -- 微信开发IOS端alert/confirm提示信息,去除网址(URL)的方法...
查看>>
Hibernate学习(二)
查看>>
java IO笔记(DataInput/DataOutput)
查看>>
Day8:String
查看>>
SQL语法之初级增删改查
查看>>
[转] Python基本学习资源收集汇总
查看>>
敏捷冲刺集合帖
查看>>