• 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
        }
        
    }
    

      

  • 相关阅读:
    Maven的安装与配置(eclipse,idea)
    用java代码打印九九乘法表
    HDFS的Java客户端操作代码(HDFS删除文件或目录)
    Java代码操作HDFS(在/user/root/下面創建目錄)
    第二种方式读取并显示HDFS中的内容
    HDFS的java客户端操作代码(Windows上面打jar包,提交至linux运行)
    HDFS的Java客户端操作代码(HDFS的查看、创建)
    CentOs6.8安装Git并安装oh my zsh
    搭建maven开发环境测试Hadoop组件HDFS文件系统的一些命令
    R-大数据分析挖掘(5-R基础回顾)
  • 原文地址:https://www.cnblogs.com/rubick/p/3789846.html
Copyright © 2020-2023  润新知