ios开发 - SWift初学笔记

来源:互联网 发布:美拍视频怎么上传淘宝 编辑:程序博客网 时间:2024/04/30 10:35

以前没有写博客的习惯 (就是转载-_-!!!) ,以后要养成习惯了


距swift发布也有半个月的时间了,一直在项目之余边看边学

网上都说swift出现了,ios程序猿的工资要降低了。

我不认同,swift的出现恰恰提高了ios开发的门槛。 新手想学习不容易 ^_^! 

所以工资是不会降的  得意  好了,费话说多了,上干货!


写了一个demo练习swift语法,大神可以乎略 (本人一年多开发的小菜 奋斗)


1、swift声明变量,常量,定义UI控件

2、swift调用AFNetworking 

3、swift中使用GCD



1、创建一个label 

ViewController.swift
func initViews(){                /*          swift可是隐式的判断类型,所以定义变量可以简化          var label :UILabel = UILabel()  -->          var label = UILabel()        */        var label = UILabel()        label.frame = CGRect(x:60, y:400, width:200, height:100)        label.font = UIFont.boldSystemFontOfSize(18)        label.text = "这是code"        label.textColor = UIColor.redColor()        label.backgroundColor = UIColor.grayColor()        self.view.addSubview(label)    }

2、声名可变数组

SecondViewController.swift//swift数据类型 String,Int//var items : String[] = ["Hello Swift","Click Me","TableView DataSource"];//可变数组var dataSource = NSMutableArray()

调用AFNetworking之前要做2件事

1)、新建一个你的工程名-Bridging-Header.h文件,导入AFNetworking.h

2)、点击你的工程名 ----> Objective-C Bridging Header  添加  你的工程名/你的工程名--Bridging-Header.h




其实这一步在新建一个oc文件的时候,会出提示,点YES,Xcode会自动创建.h并配置好

如下图,但不知道为什么我的不出现 -_-!!  




Tofu_First_Swift-Bridging-Header.h////  Use this file to import your target's public headers that you would like to expose to Swift.//#import "AFNetworking.h"


3、使用AFNetworking进行网络请求

//swift 调用 AFNetworking类库进行网络请求    func initDataUseAFNetworking(){        let manager = AFHTTPRequestOperationManager()                println(url)        manager.GET(url,            parameters:nil,            success:{ (operation:AFHTTPRequestOperation!,responseObject: AnyObject!) in                println("\(responseObject.description)")                                                /*                    这里解析json不清楚为什么不可以直接得到NSArray                    var array = responseObject["entities"] as NSArray  报错,希望知道的可以解答一下。                */                var dic = responseObject as NSDictionary                var array = dic["entities"] as NSArray                                for dict :AnyObject in array{                    self.dataSource.addObject(dict["name"])                }                self.tableView.reloadData()            },            failure:{(operation:AFHTTPRequestOperation!,error:NSError!) in                println("error \(error.localizedDescription)")            })            }

4、使用NSURLRequest 进行网络请求

//使用 NSURLRequest 进行网络请求    func initDataUsedReuqest(){        //创建URL        var loadUrl = NSURL.URLWithString(url)        //request请求        var request = NSURLRequest(URL :loadUrl)        //创建请求队列        var queue = NSOperationQueue()                dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), {            //发起异步请求            NSURLConnection.sendAsynchronousRequest(request, queue: queue, completionHandler: { response, data, error in                if error {                    println(error)                }else{                    let json = NSJSONSerialization.JSONObjectWithData(data, options:NSJSONReadingOptions.MutableContainers, error: nil) as NSDictionary                    let tempDataSource = json["entities"] as NSArray                    for dict :AnyObject in tempDataSource{                        self.dataSource.addObject(dict["name"])                    }                    dispatch_async(dispatch_get_main_queue(), {                        self.tableView.reloadData()                        })                }                })            })    }


附上demo工程下载地址:点我下载



0 0