#ios #arrays #core-data #swift
#iOS #массивы #core-данные #swift
Вопрос:
Для моего текущего проекта я хотел бы заполнить TableView из моей базы данных CoreData.
У меня есть класс с именем Movies (MovieName, cinemaName, rate)
Благодаря этой функции :
var appDel:AppDelegate = UIApplication.sharedApplication().delegate as AppDelegate
let context:NSManagedObjectContext = appDel.managedObjectContext
var request:NSFetchRequest = NSFetchRequest(entityName: "Movies")
myMovies = context.executeFetchRequest(request, error: nil)
Тем не менее, я хотел бы указать тип объектов в этом массиве (мне нужен массив объектных фильмов)
Я пробовал это
var myMovies:Array<Films> ...
но с типом массива у меня нет доступа к методу objectAtIndex
Есть идеи по решению этой проблемы?
Спасибо
Ответ №1:
Спасибо за ваш ответ! Но я решил использовать это вместо :
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell:MainTableViewCell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as MainTableViewCell
println((myMovies.objectAtIndex(indexPath.row) as Movies).name)
cell.CellTitle.text = (myMovies.objectAtIndex(indexPath.row) as Movies).MovieName)
return cell
}
Но это тоже не работает…
РЕДАКТИРОВАТЬ: теперь это работает! Я пропустил, чтобы связать свой класс с моей сущностью в CoreData! Извините
Ответ №2:
вы должны иметь возможность выполнять myMovies [0], такие же, как objectAtIndex, причина, по которой у вас нет objectAtIndex, заключается в том, что это массив Swift, вы можете просто получить доступ к индексу с помощью []