IOS swift 本地数据解析(添加到自定义表格)

// 1. 首先创建一个swift工程 在创建两个继承与UIviewcontroller的类

// 2. 在APPdelegate里面改变主视图

// APPdelegate里写:

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {

        let mainView = MainViewController()  // 新建的类

        let mainNav = UINavigationController.init(rootViewController: mainView)

        mainNav.tabBarItem.title = "我的"

        

        

        let assistan = AssistantViewController() // 新建的类

        let assNav  = UINavigationController.init(rootViewController: assistan)

        assNav.tabBarItem.title = "你的"

 

        let tabBar = UITabBarController() // 添加tabbar

        tabBar.viewControllers = [mainNav,assNav]

        

        self.window?.rootViewController = tabBar // 改变主视图

        return true

    }

// 新建一个继承tablviewcell的类:

class MainTableViewCell: UITableViewCell {

    var titlelable :UILabel?

   

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

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

        self.titlelable = UILabel()

        self.addSubview(self.titlelable!)

        setupView()

    }

//  定义位置

    func setupView() {

 

        self.titlelable?.frame = CGRect(x: 10, y: 5, width:SRC_W - 5 , height: 30)

        self.titlelable?.font = UIFont .systemFont(ofSize: 14.0)

    }

    

    required init?(coder aDecoder: NSCoder) {

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

    }

//    在你新建的其中一个类中写:

import UIKit

let SRC_W  =  UIScreen.main.bounds.size.width //  宏定义

let SRC_H  =    UIScreen.main.bounds.size.height

var swiftM = SwiftModel()

 

class MainViewController: UIViewController ,UITableViewDelegate,UITableViewDataSource{

    

    // MARK: pragma mark ======================= 返回表格的行数 ================

 

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

        return (tableArr?.count)!

    }

    

    // MARK: pragma mark ======================= 表格的cell ================

// 自定义cell的重用

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

        var cell :MainTableViewCell! = tableView.dequeueReusableCell(withIdentifier: "cell") as? MainTableViewCell

        if cell == nil{

            cell = MainTableViewCell(style: .subtitle, reuseIdentifier: "MainTableViewCell")

        }

        swiftM = tableArr![indexPath.row] as! SwiftModel

        print("11pppppp\(swiftM.title)")

 

        cell.titlelable?.text = swiftM.title

        return cell

    }

    

    // MARK: pragma mark ======================= 创建表格 ================

    var tableview:UITableView?

    var tableArr:NSArray?

    

    override func viewDidLoad() {

        super.viewDidLoad()

        tableview = UITableView(frame: self.view.frame, style: .plain)

        tableview?.delegate = self

        tableview?.dataSource = self

//        self.tableview?.register(UINib.init(nibName: "MainTableViewCell", bundle: nil), forCellReuseIdentifier: "cell")

 

        self.view.addSubview(tableview!)

    }

 

    // MARK: pragma mark ======================= 请求数据 ================

    override func viewWillAppear(_ animated: Bool) {

        

        self .requestNetWorlDataAndUpdata()

    }

    

   

    

    

    // MARK: pragma mark ========================== json解析 ==================

    

    func requestNetWorlDataAndUpdata() -> Void {

       

        

        var jsonarr = NSArray()

// 这里的路径是你自己写的路径

        jsonarr = NSArray(contentsOfFile: Bundle.main.path(forResource: "News", ofType: "plist")!)!        

        tableArr = swiftM.creatNewsArray(newArr: jsonarr) as? NSMutableArray

        

        self.tableview?.reloadData()

    }

    override func didReceiveMemoryWarning() {

        super.didReceiveMemoryWarning()

 

    }

}

// 创建一个继承与nsobject的model类

import UIKit

 

class SwiftModel: NSObject {

    

    var title = String()

    var content = String()

    

    func creatNewsArray(newArr:NSArray) -> NSArray {

        let musarr = NSMutableArray.init()  

        var dic:[String:Any]

// 从你自己写的数据中遍历出数组

        for item in newArr{

            let swift = SwiftModel()

            dic = item as? NSDictionary as! [String : Any]

            swift.title = dic["title"] as! String

            swift.content = dic["content"] as! String

            musarr .add(swift)

        }

        return musarr

    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值