Мое приложение берет некоторые данные из этого API: https://api.jqestate.ru/v1/properties/country
Ссылка на мой проект на GitHub: https://github. com/armanharvel/JQ-Estate.git (загрузить ветку «Обновление»)
Ошибок компилятора нет, но когда я запускаю свое приложение в симуляторе, Xcode печатает в консоли:
"Неустранимая ошибка: индекс вне диапазона".
В ObjectModel.swift я создал класс объекта с некоторыми типами данных. Одним из них является переменная mainPic (URL изображения для TableVeiw, которое я также хочу получить из API). Но проблема в том, что не каждый объект в API содержит значение URL-адреса изображения.
Поэтому Xcode (когда я пытаюсь запустить приложение) отмечает вторую строку блока кода, который инициализирует mainPic. переменная и ошибка:
"Поток 7: EXC_BAD_INSTRUCTION (код=EXC_1386_INVOP, субкод=0x0)"
Вот весь класс в коде:
import Foundation
class Houses {
// Data Encapsulation
private var _mainPic: String
private var _localityName: String
private var _routeName: String
private var _mkadDistance: String
private var _rentOffer: String
private var _saleOffer: String
// Make a getted
var mainPic: String {
return _mainPic
}
var localityName: String {
return _localityName
}
var routeName: String {
return _routeName
}
var mkadDistance: String {
return _mkadDistance
}
var rentOffer: String {
return _rentOffer
}
var saleOffer: String {
return _saleOffer
}
// Initialization
init(data: JSONDictionary) {
// Main Picture
if let images = data["images"] as? JSONArray,
pic0 = images[0] as? JSONDictionary, // THIS LINE IS WITH ERROR
mainPic = pic0["url"] as? String {
self._mainPic = mainPic
} else {
_mainPic = ""
}
// Locality Name
if let location = data["location"] as? JSONDictionary,
localityName = location["localityName"] as? String {
self._localityName = localityName
} else {
_localityName = ""
}
// Route Name
if let location = data["location"] as? JSONDictionary,
routeName = location["routeName"] as? String {
self._routeName = routeName
} else {
_routeName = ""
}
// MKAD Distance
if let location = data["location"] as? JSONDictionary,
mkadDistance = location["mkadDistance"] as? String {
self._mkadDistance = mkadDistance
} else {
_mkadDistance = ""
}
// Rent Offer
if let rentDict = data["rentOffer"] as? JSONDictionary,
rentOffer = rentDict["price"] as? String {
self._rentOffer = rentOffer
} else {
_rentOffer = ""
}
// Sale Offer
if let saleDict = data["saleOffer"] as? JSONDictionary,
saleOffer = saleDict["price"] as? String {
self._saleOffer = saleOffer
} else {
_saleOffer = ""
}
}
}
На всякий случай, JSONDictionary и JSONArray — это просто псевдонимы типов:
typealias JSONDictionary = [String : AnyObject]
typealias JSONArray = Array
Подробнее здесь: https://stackoverflow.com/questions/374 ... -error-whe
API не содержит никаких значений для некоторых объектов, а Xcode выдает фатальную ошибку при запуске приложения. ⇐ IOS
Программируем под IOS
1737297472
Anonymous
Мое приложение берет некоторые данные из этого API: https://api.jqestate.ru/v1/properties/country
Ссылка на мой проект на GitHub: https://github. com/armanharvel/JQ-Estate.git (загрузить ветку «Обновление»)
Ошибок компилятора нет, но когда я запускаю свое приложение в симуляторе, Xcode печатает в консоли:
"Неустранимая ошибка: индекс вне диапазона".
В ObjectModel.swift я создал класс объекта с некоторыми типами данных. Одним из них является переменная mainPic (URL изображения для TableVeiw, которое я также хочу получить из API). Но проблема в том, что не каждый объект в API содержит значение URL-адреса изображения.
Поэтому Xcode (когда я пытаюсь запустить приложение) отмечает вторую строку блока кода, который инициализирует mainPic. переменная и ошибка:
"Поток 7: EXC_BAD_INSTRUCTION (код=EXC_1386_INVOP, субкод=0x0)"
Вот весь класс в коде:
import Foundation
class Houses {
// Data Encapsulation
private var _mainPic: String
private var _localityName: String
private var _routeName: String
private var _mkadDistance: String
private var _rentOffer: String
private var _saleOffer: String
// Make a getted
var mainPic: String {
return _mainPic
}
var localityName: String {
return _localityName
}
var routeName: String {
return _routeName
}
var mkadDistance: String {
return _mkadDistance
}
var rentOffer: String {
return _rentOffer
}
var saleOffer: String {
return _saleOffer
}
// Initialization
init(data: JSONDictionary) {
// Main Picture
if let images = data["images"] as? JSONArray,
pic0 = images[0] as? JSONDictionary, // THIS LINE IS WITH ERROR
mainPic = pic0["url"] as? String {
self._mainPic = mainPic
} else {
_mainPic = ""
}
// Locality Name
if let location = data["location"] as? JSONDictionary,
localityName = location["localityName"] as? String {
self._localityName = localityName
} else {
_localityName = ""
}
// Route Name
if let location = data["location"] as? JSONDictionary,
routeName = location["routeName"] as? String {
self._routeName = routeName
} else {
_routeName = ""
}
// MKAD Distance
if let location = data["location"] as? JSONDictionary,
mkadDistance = location["mkadDistance"] as? String {
self._mkadDistance = mkadDistance
} else {
_mkadDistance = ""
}
// Rent Offer
if let rentDict = data["rentOffer"] as? JSONDictionary,
rentOffer = rentDict["price"] as? String {
self._rentOffer = rentOffer
} else {
_rentOffer = ""
}
// Sale Offer
if let saleDict = data["saleOffer"] as? JSONDictionary,
saleOffer = saleDict["price"] as? String {
self._saleOffer = saleOffer
} else {
_saleOffer = ""
}
}
}
На всякий случай, JSONDictionary и JSONArray — это просто псевдонимы типов:
typealias JSONDictionary = [String : AnyObject]
typealias JSONArray = Array
Подробнее здесь: [url]https://stackoverflow.com/questions/37422230/api-doesnt-contain-any-value-for-some-objects-and-xcode-gives-a-fatal-error-whe[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия