     }
     
     public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
-        let cell = tableView.dequeueReusableCell(withIdentifier: "UITableViewCell")
-        cell?.textLabel?.textColor = UIColor.init(white: 0.0, alpha: 0.6)
-        cell?.textLabel?.font = UIFont.init(name: "ChalkboardSE-Bold", size: 14.0)
-        cell?.textLabel?.text = "\(indexPath.section + 1).\(indexPath.row + 1) \(dataArray[indexPath.section][indexPath.row])"
-        cell?.textLabel?.numberOfLines = 2
-        return cell!
+        let cell = tableView.dequeueReusableCell(withIdentifier: "UITableViewCell") ?? UITableViewCell.init(style: .subtitle, reuseIdentifier: "UITableViewCell")
+
+        cell.textLabel?.textColor = UIColor.init(white: 0.0, alpha: 0.6)
+        cell.textLabel?.font = UIFont.init(name: "ChalkboardSE-Bold", size: 14.0)
+        cell.textLabel?.lineBreakMode = .byCharWrapping
+        cell.textLabel?.text = "\(indexPath.section + 1).\(indexPath.row + 1) \(titleArray[indexPath.section][indexPath.row])"
+        cell.textLabel?.numberOfLines = 2
+
+        cell.detailTextLabel?.textColor = UIColor.init(white: 0.0, alpha: 0.5)
+        cell.detailTextLabel?.font = UIFont.init(name: "ChalkboardSE-Bold", size: 11.0)
+        cell.detailTextLabel?.text = "\(indexPath.section + 1).\(indexPath.row + 1) \(subtitleArray[indexPath.section][indexPath.row])"
+        cell.detailTextLabel?.numberOfLines = 2
+
+        return cell
     }
     
     public func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {

			"Lottie",
			],
		]
	
    public override func viewDidLoad() {
        super.viewDidLoad()
        self.view.backgroundColor = UIColor.init(white: 245.0 / 255.0, alpha: 1.0)
        self.navigationItem.title = "Example"
        if tableView != nil {
            tableView.register(UITableViewCell.classForCoder(), forCellReuseIdentifier: "UITableViewCell")
        }
    }
    
    // MARK: UITableViewDataSource
    public func numberOfSections(in tableView: UITableView) -> Int {
        return dataArray.count
    }
    public func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return dataArray[section].count
    }
    
    public func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
        return 52.0
    }
    
    public func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
        return 42.0
    }
    public func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
        return titleArray[section]
    }
    
    public func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {

    
    @IBOutlet weak var tableView: UITableView!
    
	public let sectionTitleArray = ["Basic", "Embed", "Animation", "Irregular", "Customize click", "Remind", "Lottie"]
    public let sectionSubtitleArray = ["基本", "嵌套", "动画", "不规则", "自定义点击", "提醒", "Lottie"]
	public let titleArray = [
		[
			"UITabBarController style",
			"ESTabBarController like system style",
			"Mix ESTabBar and UITabBar",
			"UITabBarController style with 'More'",
			"ESTabBarController style with 'More'",
			"Mix ESTabBar and UITabBar with 'More'",
