SwiftData PosterteStoFetch только получает запрошенные атрибуты, но каждая запись полностью выбирается даже при том, чтоIOS

Программируем под IOS
Ответить
Anonymous
 SwiftData PosterteStoFetch только получает запрошенные атрибуты, но каждая запись полностью выбирается даже при том, что

Сообщение Anonymous »

У меня есть очень простая модель, определенная: < /p>
@Model
final class Movie: Identifiable {
#Index\(\[.name\])

var id = UUID()
var name: String
var genre: String?

init(name: String, genre: String?) {
self.name = name
self.genre = genre
}
}
< /code>
Я включил отладку SQL, включив «-com.apple.coredata.sqldebug 3 'аргумент при запуске. Следующий код, он изначально выбирает 3 записи, но затем также выбирает каждую запись индивидуально, даже если я не ссылаюсь на какие -либо другие атрибуты. < /p>
var fetchDescriptor = FetchDescriptor\()
fetchDescriptor.propertiesToFetch = \[.id, .name\]
fetchDescriptor.fetchLimit = 3

do {
print("SELECT START")
movies = try modelContext.fetch(fetchDescriptor)
print("SELECT END")
} catch {
print("Failed to load Movie model.")
}
< /code>
Вот информация отладки: < /p>
SELECT START
CoreData: annotation: fetch using NSSQLiteStatement on entity 'Movie' with sql text 'SELECT 1, t0.Z_PK, t0.ZID, t0.ZNAME FROM ZMOVIE t0 LIMIT 3' returned 3 rows with values: (
CoreData: annotation: fetch using NSSQLiteStatement on entity 'Movie' with sql text 'SELECT 0, t0.Z_PK, t0.Z_OPT, t0.ZGENRE, t0.ZID, t0.ZNAME FROM ZMOVIE t0 WHERE t0.Z_PK = ? ' returned 1 rows
CoreData: annotation: fetch using NSSQLiteStatement on entity 'Movie' with sql text 'SELECT 0, t0.Z_PK, t0.Z_OPT, t0.ZGENRE, t0.ZID, t0.ZNAME FROM ZMOVIE t0 WHERE t0.Z_PK = ? ' returned 1 rows
CoreData: annotation: fetch using NSSQLiteStatement on entity 'Movie' with sql text 'SELECT 0, t0.Z_PK, t0.Z_OPT, t0.ZGENRE, t0.ZID, t0.ZNAME FROM ZMOVIE t0 WHERE t0.Z_PK = ? ' returned 1 rows
SELECT END
< /code>
Я вижу, как он выбирает 3 Rows initysy, но затем он выбирает каждый отдельно. Зачем это делать на начальном выборе? Я надеялся выбрать данные, которые я хочу отобразить, и позволить системе выбрать всю запись только тогда, когда я получаю доступ к переменной, которую я изначально не получил.

Подробнее здесь: https://stackoverflow.com/questions/794 ... -each-reco
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»