zoukankan      html  css  js  c++  java
  • swift 学习笔记(1)--- 运行环境

    1. 下载xcode6 beta版

    链接: http://pan.baidu.com/s/1o6kFu0U 密码: i7mm

    大家不要怕,xcode 5 和xcode 6 是可以共存的。

    2.  创建共存

    1. Choose File > New > Project > (iOS or OS X) > Application > your template of choice.

    此处选择 Single view Application。

          2. Click the Language pop-up menu and choose Swift

      3. 上代码:   一样的用法,只不过语法不一样

      4.  运行okay

    class XHNewsTableViewController : UITableViewController {
        var dataSource = []
        
        var thumbQueue = NSOperationQueue()
        
        let hackerNewsApiUrl = "http://qingbin.sinaapp.com/api/lists?ntype=%E5%9B%BE%E7%89%87&pageNo=1&pagePer=10&list.htm"
        
        override func awakeFromNib() {
            super.awakeFromNib()
        }
        
        override func viewDidLoad() {
            super.viewDidLoad()
            // Do any additional setup after loading the view, typically from a nib.
            
            let refreshControl = UIRefreshControl()
            refreshControl.attributedTitle = NSAttributedString(string: "下拉刷新")
            refreshControl.addTarget(self, action: "loadDataSource", forControlEvents: UIControlEvents.ValueChanged)
            self.refreshControl = refreshControl
        }
        
        override func viewDidAppear(animated: Bool) {
            super.viewDidAppear(animated)
            loadDataSource();
        }
        
        override func didReceiveMemoryWarning() {
            super.didReceiveMemoryWarning()
            // Dispose of any resources that can be recreated.
        }
        
        func loadDataSource() {
            self.refreshControl.beginRefreshing()
            var loadURL = NSURL.URLWithString(hackerNewsApiUrl)
            var request = NSURLRequest(URL: loadURL)
            var loadDataSourceQueue = NSOperationQueue();
            
            NSURLConnection.sendAsynchronousRequest(request, queue: loadDataSourceQueue, completionHandler: { response, data, error in
                if error {
                    println(error)
                    dispatch_async(dispatch_get_main_queue(), {
                        self.refreshControl.endRefreshing()
                        })
                } else {
                    let json = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: nil) as NSDictionary
                    let newsDataSource = json["item"] as NSArray
                    dispatch_async(dispatch_get_main_queue(), {
                        self.dataSource = newsDataSource
                        self.tableView.reloadData()
                        self.refreshControl.endRefreshing()
                        })
                }
                })
        }
        
        // #pragma mark - Segues
        override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
            if segue.identifier == "showWebDetail" {
    //            let indexPath = self.tableView.indexPathForSelectedRow()
    //            let object = dataSource[indexPath.row] as NSDictionary
    //            (segue.destinationViewController as XHWebViewDetailController).detailID = object["id"] as NSInteger
            }
        }
    
        
        // #pragma mark - Table View
        
        override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
            return 1
        }
        
        override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
            return dataSource.count
        }
        
        override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
            let cell = tableView.dequeueReusableCellWithIdentifier("XHNewsCell", forIndexPath: indexPath) as UITableViewCell
            
            let object = dataSource[indexPath.row] as NSDictionary
            
            cell.textLabel.text = object["title"] as String
            cell.detailTextLabel.text = object["id"] as String
            cell.imageView.image = UIImage(named :"cell_photo_default_small")
            cell.imageView.contentMode = UIViewContentMode.ScaleAspectFit
            
            let request = NSURLRequest(URL :NSURL.URLWithString(object["thumb"] as String))
            NSURLConnection.sendAsynchronousRequest(request, queue: thumbQueue, completionHandler: { response, data, error in
                if error {
                    println(error)
                    
                } else {
                    let image = UIImage.init(data :data)
                    dispatch_async(dispatch_get_main_queue(), {
                        cell.imageView.image = image
                        })
                }
                })
            
            
            return cell
        }
        
        override func tableView(tableView: UITableView!, heightForRowAtIndexPath indexPath: NSIndexPath!) -> CGFloat {
            return 80
        }
        
    }
    

      

  • 相关阅读:
    HeapSpray初窥(2014.12)
    CVE-2014-4115漏洞分析(2014.11)
    【原创】oracle提权执行命令工具oracleShell v0.1
    【原创】贴个dirtycow(脏牛漏洞)不死机的exploit
    【CVE-2016-10009】OpenSSH < 7.4
    关于elasticsearch和kibana的时区和日期问题
    这是我写过的最长的正则表达式,没有之一
    三生缘
    【原创】JEECMS v6~v7任意文件上传漏洞(2)
    【原创】JEECMS v6~v7任意文件上传漏洞(1)
  • 原文地址:https://www.cnblogs.com/rubick/p/3789846.html
Copyright © 2011-2022 走看看