HTTP协议可以说在APP开发中太常见了,基本上哪里都有它的身影。今天简单讲解下Swift语言的HTTP的请求例子。
Controllner.swift
import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: NSDictionary?) -> Bool { self.window = UIWindow(frame: UIScreen.mainScreen().bounds) // Override point for customization after application launch. self.window!.backgroundColor = UIColor.whiteColor() self.window!.makeKeyAndVisible() var root=RootViewController() self.window!.rootViewController=root return true } func applicationWillResignActive(application: UIApplication) { // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game. } func applicationDidEnterBackground(application: UIApplication) { // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. } func applicationWillEnterForeground(application: UIApplication) { // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background. } func applicationDidBecomeActive(application: UIApplication) { // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. } func applicationWillTerminate(application: UIApplication) { // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. } }
Controllner.swift
import UIKit class RootViewController: UIViewController { var btn:UIButton? var text:UITextField? var lable:UILabel? override func viewDidLoad() { super.viewDidLoad() //TextField text=UITextField() text!.frame=CGRectMake(20,30,self.view.bounds.size.width-40,30) text!.placeholder="http://" text!.borderStyle = .RoundedRect //Button btn=UIButton() btn!.frame=CGRectMake(20, 80, 60, 30) btn!.setTitle("HTTP",forState:.Normal) btn!.addTarget(self,action:"onclick",forControlEvents:.TouchUpInside) btn!.backgroundColor=UIColor.redColor() //Lable lable=UILabel() lable!.frame=CGRectMake(0,120,self.view.bounds.size.width,self.view.bounds.size.height) lable!.backgroundColor=UIColor.grayColor() lable!.lineBreakMode = .ByWordWrapping; lable!.numberOfLines=0 self.view.addSubview(self.btn) self.view.addSubview(lable) self.view.addSubview(text) // Do any additional setup after loading the view. } func connection(connection:NSURLConnection!,didReceiveData data:NSData!){ var returnString:NSString? returnString=NSString(data:data,encoding:NSUTF8StringEncoding) println(returnString) let jsonData = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: nil) as NSDictionary var str="result:\n"+String(returnString!) for (key,value) in jsonData{ str+="\n key-->\(key)"+" value=\(value) " } lable!.text=str } func onclick(){ var url:String=text!.text if url=="" { // let alert=UIAlertView() // alert.title="Error" // alert.message="please enter url!" // alert.addButtonWithTitle("Ok") // alert.show() var urlString:String?="http://192.168.1.104:8080/Attendace/JsonController/getJson" httpRequest(urlString!) }else{ httpRequest(url) } } func httpRequest( urlString:String){ var url:NSURL? var requrst:NSURLRequest? var conn:NSURLConnection? url=NSURL.URLWithString(urlString) requrst=NSURLRequest(URL:url) conn=NSURLConnection(request: requrst,delegate: self) println(conn) if(conn){ println("http连接成功!") }else{ println("http连接失败!") } } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } }
收藏的用户(0) X
正在加载信息~
推荐阅读
最新回复 (0)
站点信息
- 文章2305
- 用户1336
- 访客11373050
每日一句
I didn’t fail the test. I just found 100 ways to do it wrong.
我没有考试失败。我只是找到了100种做错的方法。
我没有考试失败。我只是找到了100种做错的方法。
C++实现UDP打洞
Android简单树状实现
Android-X86和VirtualBox打造高性能Android开发环境
This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its de
linux下C/C++网络编程基本-NAT穿透成功
android ndk开发之asm/page.h: not found
Mac系统启动U盘制作与使用教程图文详解
Autonomous NAT Traversal
小程序多级多选联动菜单
cocos2d-x横版ARPG过关游戏
在Google Play商店中展示Android应用的八大技巧
如何精简化Xposed
How to Ungroup Icons on Windows 11 Taskbar With a Registry Hack (and 2 More Ways)
新会员