我将视图控制器的字符串存储在字符串数组中.我在表视图中将此字符串数组导入为数据源.一切顺利.但现在我想对表视图进行排序并添加节标题.节标题应该来自字母表,意义节的行应该是数组中的所有字符串,从节标题的字母开始.
我知道如何使用静态数组实现这一目标.但是我怎么能只显示那些也有行(数组中的字符串)的部分呢?我怎样才能使它在保存带字母的新字符串时生成一个新的部分,这些部分中尚不存在?
我希望我已经足够准确地解释了它.我试了很久才解决这个问题.如果有人可以帮助我会很棒.
以下是一些代码段:
class OverViewController: UIViewController {
@IBOutlet weak var tableView: UITableView!
@IBOutlet weak var addButton: UIBarButtonItem!
@IBOutlet weak var editButton: UINavigationItem!
var kontaktListe = Telefonbuch.loadArray()
var sections = [[String]]()
var collation = UILocalizedIndexedCollation.currentCollation()
override func viewDidLoad()
{
super.viewDidLoad()
tableView.dataSource = self
configureSectionData()
tableView.reloadData()
}
func configureSectionData()
{
let names = kontaktListe.map{$0.name}
let selector: Selector = "description"
sections = Array(count:collation.sectionTitles.count, repeatedValue: [])
let sortedObjects = collation.sortedArrayFromArray(names, collationStringSelector: selector)
for object in sortedObjects {
let sectionNumber = collation.sectionForObject(object, collationStringSelector: selector) …Run Code Online (Sandbox Code Playgroud) 我有一个名为"威士忌建设者"的classe,它只启动了新的威士忌.现在我想在我的"WhiskyOverViewController"中添加新添加的威士忌.但是我面临以下问题:
class WhiskyOverViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
@IBOutlet weak var tableView: UITableView!
var whiskyArray = [WhiskyBuilder]()
let stringArray = whiskyArray.map({$0.whiskyName!})
var whiskies = [Character: [String]]()
var objectsArray = [Object]()
Run Code Online (Sandbox Code Playgroud)
在"stringArray"的行中,我得到错误"Instance member'whiskyArray'不能用于'WhiskyOverViewController'类型.为什么我不能在那里使用whiskyArray变量?
在此先感谢您的帮助