Я хотел бы иметь несколько видов, каждый из которых содержит 2 таблицы (каждый из которых занимает половину экрана). Каждое представление будет разделено на один из таблиц. Табличные представления будут вести себя более или менее независимо.Как создать больше представлений, разделяющих табличное представление с помощью раскадровки
Я думал, что из двух вариантов:
1) независимых взглядов, в которых общий TableView перезагружается каждый раз, когда вид приходит на место.
2) Один единственный TableView разделяют каждого вида (подобно тому, что происходит в контроллере Разделить (хотя я не могу использовать SPLITVIEW, как хотелось бы, чтобы использовать адаптивную схему, когда устройства находятся в портретном режиме).
у меня есть ощущение, что второй подход был бы лучше, но я не мог придумать способ, чтобы разработать ее. Каков наилучший способ получить это?
Я попытался сделать, как было предложено Андрей Гордийчук (ответ 1), но я думаю, что все испортил ....:
Когда я запускаю приложение, он строит успешные но он сработает, когда я попытаюсь добраться до общего представления с ошибкой EXC_BAD_ACCESS.
Вот SharedReusableTableViewDelegate:
class SharedReusableTableViewDelegate: UIViewController, UITableViewDelegate, UITableViewDataSource {
var databasePath = String()
var selectedVerse : Int = 1
func registerClass(UITableViewCell, forCellReuseIdentifier identifier: String){}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let row : Int = indexPath.row
var getVerse = DatabaseDB()
var verse = DatabaseVars()
(verse.book, verse.chapter, verse.verseNumber, verse.extra, verse.verseText) = getVerse.getVerseBy(row, database: databasePath as String)
let cell: AnyObject = tableView.dequeueReusableCellWithIdentifier("reuseIdentifier", forIndexPath: indexPath)
cell.textLabel?!.text = "\(verse.chapter),\(verse.verseNumber) \(verse.verseText)"
return cell as! UITableViewCell
}
func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
let numberofCells = 200
return numberofCells
}
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
selectedVerse = indexPath.row + 1
println("You selected cell #\(selectedVerse)!")
}
}
А вот контроллер для вида с Table1:
class Table1: UIViewController {
@IBOutlet weak var verseView: UITableView!
var databasePath = NSString()
var currentPath = NSString()
override func viewDidLoad() {
super.viewDidLoad()
let filemgr = NSFileManager.defaultManager()
let dirPaths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)
let docsDir = dirPaths[0] as! String
databasePath = docsDir.stringByAppendingPathComponent("LuceDaLuce.db")
var fileCopyError : NSError? = NSError()
currentPath = NSBundle.mainBundle().pathForResource("tmp", ofType: "db")!
println("currentPath: \(currentPath)")
if !filemgr.fileExistsAtPath(databasePath as String) {
if filemgr.copyItemAtPath(currentPath as String, toPath: databasePath as String, error: &fileCopyError) {
println("Copy successful")
} else {
println("Copy failed with error: \(fileCopyError!.localizedDescription)")
}
} else {println("The database is already there")}
let delegate = SharedReusableTableViewDelegate()
delegate.databasePath = databasePath as String
verseView.delegate = delegate
verseView.dataSource = delegate
}
}
Я загрузки содержимого ячеек из SQLite базы данных (которые я уже тестировал).
Любые советы?
Спасибо,
S
Есть ли определенная причина, по которой вы хотите, чтобы табличное представление находилось в других представлениях, а не только рядом с ними? – dudeman
В каждом представлении таблицы в представлении отображается различный контент. Содержимое из одного табличного представления будет использоваться для пересылки содержимого другого. Каждый вид таблицы в каждом представлении должен отображаться в любое время. – silvoc
Похоже, вы хотите видеть таблицы внутри одного и того же viewController, но не обязательно одного и того же вида.Сохранение функциональности вашего контроллера отдельно от ваших представлений »(и ваша модель в этом отношении) очень полезна в долгосрочной перспективе. – dudeman