ios开发 - SWift初学笔记

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


距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工程下载地址:点我下载



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值