Swift基础--tableview练习

新手练习Swift版tableview

//  ViewController.swift

//  Swift_lianxi

//  Created by dllo on 16/1/7.

//  Copyright © 2016年 z_han. All rights reserved.

//

import UIKit

class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {

var tableView :UITableView?

var dataArray :NSMutableArray?

override func viewDidLoad() {

super.viewDidLoad()

// Do any additional setup after loading the view, typically from a nib.

self.dataArray = NSMutableArray()

tableView = UITableView.init(frame: self.view.frame, style: UITableViewStyle.Plain)

tableView?.delegate = self

tableView?.dataSource = self

self.view.addSubview(tableView!)

tableView?.registerClass(TableViewCell.self, forCellReuseIdentifier: "TableViewCell")

tableView?.rowHeight = 110

self.getData()

}

func getData(){

let manager :AFHTTPSessionManager = AFHTTPSessionManager()

// 支持的接口类型

manager.responseSerializer.acceptableContentTypes = NSSet(objects:"text/plain","text/json","application/json","text/javascript","text/html") as? Set<String>

manager.GET("http://project.lanou3g.com/teacher/yihuiyun/lanouproject/movielist.php", parameters: nil, progress: nil, success: { (tast: NSURLSessionDataTask, responseObject:AnyObject?) -> Void in

//                print(responseObject)

let responseObject :NSDictionary = responseObject as! NSDictionary

let resultArray :NSArray = responseObject.objectForKey("result") as!NSArray

//            print(resultArray)

for dic in resultArray{

let resultDic :NSDictionary = dic as! NSDictionary

let model :Model = Model()

// 赋值

model.setValuesForKeysWithDictionary(resultDic as![String : AnyObject])

self.dataArray?.addObject(model)

}

self.tableView?.reloadData()

}) { (task:NSURLSessionDataTask?, error :NSError) -> Void in

print("失败 \(error)")

}

}

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {

return (self.dataArray?.count)!;

}

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

let cell :TableViewCell? = tableView.dequeueReusableCellWithIdentifier("TableViewCell") as? TableViewCell

let model = self.dataArray![indexPath.row]

cell?.model = model as? Model

cell?.selectionStyle = UITableViewCellSelectionStyle.None

return cell!

}

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {

let detailVC :DetailViewController? = DetailViewController()

self.presentViewController(detailVC!, animated: true, completion: nil)

}

//  TableViewCell.swift

//  Swift_lianx

//

//  Created by dllo on 16/1/7.

//  Copyright © 2016年 z_han. All rights reserved.

//

import UIKit

class TableViewCell: UITableViewCell {

var imageVieg :UIImageView?

var titleLabel :UILabel?

var bgImage :UIImageView?

var model :Model?{

set(newModel){

let url :NSURL = NSURL.init(string: (newModel?.pic_url)!)!

self.imageVieg?.sd_setImageWithURL( url, placeholderImage: UIImage(named: "picholder")!)

self.titleLabel?.text = newModel?.movieName

}

get{

return self.model

}

}

override init(style: UITableViewCellStyle, reuseIdentifier: String?) {

super.init(style: style, reuseIdentifier: reuseIdentifier)

// 背景

bgImage = UIImageView.init(image: UIImage(named: "bg_eventlistcell"))

bgImage?.frame = CGRectMake(10, 10, 375 - 20, 100)

self.contentView.addSubview(bgImage!)

// 图片

imageVieg = UIImageView.init(image: UIImage(named: "picholder"))

imageVieg?.frame = CGRectMake(10, 10, 60, 80)

bgImage?.addSubview(imageVieg!)

// 标题

titleLabel = UILabel.init(frame: CGRectMake(90, 20, 375 - 10-10-60-20, 60))

bgImage?.addSubview(titleLabel!)

}

required init?(coder aDecoder: NSCoder) {

fatalError("init(coder:) has not been implemented")

}

override func awakeFromNib() {

super.awakeFromNib()

// Initialization code

}

override func setSelected(selected: Bool, animated: Bool) {

super.setSelected(selected, animated: animated)

// Configure the view for the selected state

}

时间: 2024-10-22 14:44:39

Swift基础--tableview练习的相关文章

从Pitre《Swift 基础教程2nd》开始

看了两天<Learn Objective-C on the MAC> 中文版本<Objective-C基础编程>,大概认真读到了第9章内存管理部分,感觉这语言可比C++简单多了. 第一天,因为有C语言基础的缘故,我在windows 上安装了GNUstep (Objective-C)开发环境,变看电子书籍,边在PC上编译运行树上的示例,几乎一个都没放过,还做了不少笔记. (毕竟作者 Mark Dalrymaple & Scott Knaster 是高屋建瓴,叙述技术娓娓道来,

swift中tableview的使用和注意事项

今天使用swift写了个简单的tableView,语法和用法上跟oc没多大的区别.但是还是有一些细节的地方需要注意一下的. 先上代码 import UIKit class ViewController: UIViewController,UITableViewDelegate,UITableViewDataSource { var _tableView:UITableView? override func viewDidLoad() { super.viewDidLoad() _tableVie

3.Swift基础知识

Swift是用来开发iOS和OS X应用的新语言,但是许多地方用起来跟C或者OC是差不多的. Swift提供了C语言和OC的基本数据类型,比如整型用Int,浮点型用Double或者Float,布尔型用Bool,字符串文本用String,Swift还提供了两种集合类型,Array和Dictionary,后面会介绍. Swift也跟C一样用唯一的变量名来存储与使用数据,还能使用一些值不会变的变量,应该说是常量,比C里面的常量要强大.在涉及到一些值不会发生变化的数据时使用常量类型能让代码更安全整洁.

随手记Swift基础和Optional Type(问号?和感叹号!)

距离Apple推出Swift已经有几天了,网上也时不时出现"急招Swift程序员,要求有一天工作经验"的帖子. 看到Swift,除了苹果放的另外一门语言的链接(http://swift-lang.org/),还可能联想到Taylor Swift,或者铃木雨燕. 这几天网上关于Swift的话题和材料应该迅速膨胀,比如StackOverflow的相关标签,还有知乎上的一些相关讨论. 关于Swift的推出,我个人觉得对现有的使用Objective-C的iOS开发者不算是很大的冲击,毕竟写代码

Swift基础语法(常量变量、数据类型、元组、可选、断言等)

Swift 是 iOS 和 OS X 应用开发的一门新语言.然而,如果你有 C 或者 Objective-C 开发经验的话,你会发现 Swift 的很多内容都是你熟悉的. Swift 的类型是在 C 和 Objective-C 的基础上提出的,Int是整型:Double和Float是浮点型:Bool是布尔型:String是字符串.Swift 还有两个有用的集合类型,Array和Dictionary,请参考集合类型. 就像 C 语言一样,Swift 使用变量来进行存储并通过变量名来关联值.在 Sw

Swift学习——Swift基础详解(四)

A:小儿编程很不好! B:多半是不爱学,从看英文版开始,让你爱上编程! Type Aliases    类型重定义(typedef) Swift中重定义类型的关键字是typealias,至于怎么用,应该不必多说了,看例子: typealias AudioSample = UInt16 //定义了一个类型名称AudioSample,代表UInt16类型 var maxAmplitudeFound = AudioSample.min // maxAmplitudeFound is now 0 Boo

Swift基础 - - 高德地图实践(一)

高德地图开发需要自己到官网http://lbs.amap.com/console/ 注册一个ak,新建一个swift工程,然后在Info.plist中添加一个NSLocationAlwaysUsageDescription或者NSLocationWhenInUseUsageDescription. 高德地图的库以及依赖库加入到项目里面 需要的库如下截图: 添加头文件 具体的方式见Swift基础--调用第三方OC项目,在Bridging-Header.h中加入如下代码,这样我们就可以调用高德地图相

Swift学习——Swift基础详解(一)

注:由于基础部分在Swift Tour 中已经大体的说明了,所以在详解中不会达到100%的原文释义 Constants and Variables  常量和变量 常量和变量都需要声明名称和类型(作为程序员,这些基础也就不说了),常量一次赋值不能改变,变量的值可以改变 Declaring Constants and Variables   声明常量和变量 常量和变量在使用之前必须要声明,使用let关键字定义常量,var关键字定义变量 下面的例子可以用来定义用户登录的时候最大的尝试次数: let m

Swift学习——Swift基础详解(二)

上节说了没有营养的变量和常量,这玩意,都差不多,自己稍微看下就好了 Integers    整型 整数就是整数了,没有小数,整数有符号(+,-,0)或者无符号(0,+) Swift提供了8,16,32,64位的有符号和无符号的整数,命名使用C的方式,比如,8位无符号的整型UInt8,32位有符号的整型就是Int32 Integer Bounds    整型范围 可以使用min 和 max获取整数类型的最大值和最小值 let minValue = UInt8.min // minValue is