说明:需要创建一个 TableViewController(主界面),TableViewCell(自定义Cell),MoveModel(赋值,传值),
先说MoveModel,里面很简单,和OC的model创建一样的,代码如下:
class MoveModel: NSObject {
var movieId:String!
var movieName:String!
var pic_url:String!
//构造方法
init(movieId:String,movieName:String,pic_url:String) {
self.movieId = movieId
self.movieName = movieName
self.pic_url = pic_url
}
}
TableViewCell 中拖上属性,需要用来显示的空间属性,本文中只显示了电影的名字和图片:
@IBOutlet var moveImage: UIImageView!
@IBOutlet var titel: UILabel!
下面是主界面 TableViewController 要做的事情,采用的是OC中的思维模式,所以先创建了一个数组用作数据源:
//数据源属性(懒加载)
lazy var datasource:NSMutableArray = []
接下来是从网络上下载数据,并解析,此处单独写了一个方法:
//获取解析文件
func getDataFromCinemalist() {
//创建网址字符串
var url = NSString(format: "http://project.lanou3g.com/teacher/yihuiyun/lanouproject/movielist.php")
url = url.stringByAddingPercentEscapesUsingEncoding(NSUTF8StringEncoding)!
//创建URL
let urlString = NSURL(string: url as String)
let
request = NSURLRequest(URL: urlString!, cachePolicy: NSURLRequestCachePolicy.ReturnCacheDataElseLoad, timeoutInterval: 10.0)
//解析
NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue.mainQueue()) { (response, data, connectionError) -> Void in
//因为解析得到的数据最外层是字典,所以用字典接收
let dic:NSDictionary = try! NSJSONSerialization.JSONObjectWithData(data!, options:NSJSONReadingOptions.MutableContainers) as! NSDictionary
//便利添加到数据源
let array:NSArray = dic["result"] as! NSArray
//循环得到数组中的小字典
for var i = 0; i < array.count; i++ {
let Dic:NSDictionary = array[i] as! NSDictionary
//用init方法给model赋值
let model = MoveModel(movieId: Dic["movieId"] as! String, movieName: Dic["movieName"] as! String, pic_url: Dic["pic_url"] as! String)
//添加到数组
self.datasource.addObject(model)
}
//刷新界面
self.tableView.reloadData()
}
}
以上代码是在一个方法里面写的记得在 viewDidLoad 里面调用.
注:第一次写博客,希望大神们不要嫌弃!