Код не выполняется после определенной задачи блокировки в моем коде, который является частью более крупного проекта.
Я не использую do-catch в этой задаче block.
Почему это происходит? Оператор печати, который печатает то, что блок задачи извлекает, в конце задачи и печатает то, что он правильно извлекает. Этот блок задач происходит дважды в этом контроллере представления, однако код не выполняется после запуска в него в первый раз.Just the Task block:
Import UIKit
Task {
guard let venues = try? await getInitialRestaurantVenueInfoWithIfOpenAtSatOrSun201AMDateTimes_FriOrSatAfter2AMForUserPropertiesForMapView(latitude: latitudeForRetrievingData!,
longitude: longitudeForRetrievingData!,
category: "restaurants",
sortBy: "rating",
openAtForSaturday201AMDateTimeAfterFriday2AMForUser: retrieveNextSaturday201AMDateTimeOriginallyInSelectedLocationTimeZoneTimeInUnixTimeRelativeToTodayForSelectedLocation(),
openAtForSunday201AMDateTimeAfterSaturday2AMForUser: retrieveNextSunday201AMDateTimeOriginallyInSelectedLocationTimeZoneTimeInUnixTimeRelativeToTodayForSelectedLocation()) else {return}
self.venues = venues
//Print Check.
print("Print check. venues at the end of the Task block:", venues)
//Prints 'venues', which is an array of classes.
}
//Print Check.
print("Print Check. After Task block.")
//Doesn't print.
< /code>
CitiesMapViewController.swift:
import UIKit
import MapKit
import FloatingPanel
import CoreLocation
class CitiesMapViewController: UIViewController, MKMapViewDelegate, CitiesMapViewPanelSearchBarViewControllerDelegate, CLLocationManagerDelegate {
var selectedLocationViewModel: SelectedLocationViewModel!
let manager = CLLocationManager()
var venues: [CompleteInitialVenueInfoWithOpenAtSatSun201AMDateTime_FriSatForUserOpenAfter2AMProperties] = []
let myMapView = MKMapView()
let panel = FloatingPanelController()
private let nightBitesLabel: UILabel = {
let label = UILabel()
label.text = "Night Bites"
label.font = .systemFont(ofSize: 18, weight: .semibold)
return label
}()
override func viewDidLoad() {
super.viewDidLoad()
view.addSubview(myMapView)
view.addSubview(nightBitesLabel)
myMapView.delegate = self
let citiesMapViewPanelSearchBarVC = CitiesMapViewPanelSearchBarViewController()
citiesMapViewPanelSearchBarVC.delegate = self
panel.set(contentViewController: citiesMapViewPanelSearchBarVC)
panel.addPanel(toParent: self)
manager.requestAlwaysAuthorization()
manager.requestWhenInUseAuthorization()
if CLLocationManager.locationServicesEnabled() {
manager.delegate = self
manager.desiredAccuracy = kCLLocationAccuracyBest
}
else {
print("Error after pressing UserLocationButton (and possibly related to the GPS, per Question Poster's code and thought), after the line of code: 'if CLLocationManager.locationServicesEnabled() {'" )
}
self.makingVenuesMapVenuesAndAddingToMap(venues: self.venues)
}
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
myMapView.frame = view.bounds
nightBitesLabel.sizeToFit()
nightBitesLabel.frame = CGRect(x: 18, y: 38, width: nightBitesLabel.frame.size.width, height: nightBitesLabel.frame.size.height)
}
override func viewDidAppear(_ animated: Bool) {
manager.requestAlwaysAuthorization()
manager.requestWhenInUseAuthorization()
manager.startUpdatingLocation()
self.myMapView.showsUserLocation = true
self.myMapView.userTrackingMode = .follow
}
func showSelectedCityAreaRestaurantsAsPins(_ vc: CitiesMapViewPanelSearchBarViewController, didSelectLocationWith coordinates: CLLocationCoordinate2D?, latitudeForRetrievingData: Double?, longitudeForRetrievingData: Double?, venues: [CompleteInitialVenueInfoWithOpenAtSatSun201AMDateTime_FriSatForUserOpenAfter2AMProperties] = []) {
guard let coordinates = coordinates else {
return
}
panel.move(to: .tip, animated: true)
myMapView.removeAnnotations(myMapView.annotations)
//Zooming in the map to the selected City's pin.
myMapView.setRegion(MKCoordinateRegion(center: coordinates, span: MKCoordinateSpan(latitudeDelta: 0.5, longitudeDelta: 0.5)), animated: true)
Task {
guard let venues = try? await getInitialRestaurantVenueInfoWithIfOpenAtSatOrSun201AMDateTimes_FriOrSatAfter2AMForUserPropertiesForMapView(latitude: latitudeForRetrievingData!,
longitude: longitudeForRetrievingData!,
category: "restaurants",
sortBy: "rating",
openAtForSaturday201AMDateTimeAfterFriday2AMForUser: retrieveNextSaturday201AMDateTimeOriginallyInSelectedLocationTimeZoneTimeInUnixTimeRelativeToTodayForSelectedLocation(),
openAtForSunday201AMDateTimeAfterSaturday2AMForUser: retrieveNextSunday201AMDateTimeOriginallyInSelectedLocationTimeZoneTimeInUnixTimeRelativeToTodayForSelectedLocation()) else {return}
self.venues = venues
//Print Check.
print("Print check. venues at the end of the Task block:", venues)
//Prints 'venues', which is an array of classes.
}
//Print Check.
print("Print Check. After Task block.")
//Doesn't print.
//For Making each venue in venues MKAnnotations, and NSObjects.
//Creating Empty mapVenuesList called mapVenues.
var mapVenues: [MapVenue] = []
//For loop for Making each venue in venues MKAnnotations, and NSObjects. Bascially which can be used as pins, and which can be added to map when created.
for venue in venues {
var mapVenue = MapVenue(name: venue.name, id: venue.id, latitude: venue.coordinates.latitude, longitude: venue.coordinates.longitude, coordinate: CLLocationCoordinate2D(latitude: venue.coordinates.latitude, longitude: venue.coordinates.longitude), image_url: venue.image_url, rating: venue.rating, is_closed: venue.is_closed, distance: venue.distance)
//Appending a MapVenue to mapVenues.
mapVenues.append(mapVenue)
}
//For adding each mapVenue (is an NSObject, and MKAnnotation, so can be used as a "pin" when adding them to map) to map.
for element in mapVenues {
myMapView.addAnnotation(element)
}
}
func showUserLocationSymbolAndUserLocationAreaRestaurantsAsPins(_ vc: CitiesMapViewPanelSearchBarViewController, didSelectLocationWith coordinates: CLLocationCoordinate2D?, latitudeForRetrievingData: Double?, longitudeForRetrievingData: Double?, venues: [CompleteInitialVenueInfoWithOpenAtSatSun201AMDateTime_FriSatForUserOpenAfter2AMProperties] = []) {
guard let coordinates = coordinates else {
return
}
panel.move(to: .tip, animated: true)
myMapView.removeAnnotations(myMapView.annotations)
//Zooming in the map to the selected City's pin.
myMapView.setRegion(MKCoordinateRegion(center: coordinates, span: MKCoordinateSpan(latitudeDelta: 0.5, longitudeDelta: 0.5)), animated: true)
Task {
guard let venues = try? await getInitialRestaurantVenueInfoWithIfOpenAtSatOrSun201AMDateTimes_FriOrSatAfter2AMForUserPropertiesForMapView(latitude: latitudeForRetrievingData!,
longitude: longitudeForRetrievingData!,
category: "restaurants",
sortBy: "rating",
openAtForSaturday201AMDateTimeAfterFriday2AMForUser: retrieveNextSaturday201AMDateTimeOriginallyInSelectedLocationTimeZoneTimeInUnixTimeRelativeToTodayForSelectedLocation(),
openAtForSunday201AMDateTimeAfterSaturday2AMForUser: retrieveNextSunday201AMDateTimeOriginallyInSelectedLocationTimeZoneTimeInUnixTimeRelativeToTodayForSelectedLocation()) else {return}
self.venues = venues
}
self.makingVenuesMapVenuesAndAddingToMap(venues: self.venues)
}
func makingVenuesMapVenuesAndAddingToMap(venues: [CompleteInitialVenueInfoWithOpenAtSatSun201AMDateTime_FriSatForUserOpenAfter2AMProperties]) {
//For Making each venue in venues MKAnnotations, and NSObjects.
//Creating Empty mapVenuesList called mapVenues.
var mapVenues: [MapVenue] = []
//For loop for Making each venue in venues MKAnnotations, and NSObjects. Bascially which can be used as pins, and which can be added to map when created.
for venue in venues {
var mapVenue = MapVenue(name: venue.name, id: venue.id, latitude: venue.coordinates.latitude, longitude: venue.coordinates.longitude, coordinate: CLLocationCoordinate2D(latitude: venue.coordinates.latitude, longitude: venue.coordinates.longitude), image_url: venue.image_url, rating: venue.rating, is_closed: venue.is_closed, distance: venue.distance)
//Appending aMapVenue to mapVenues.
mapVenues.append(mapVenue)
}
//For adding each mapVenue (is an NSObject, and MKAnnotation, so can be used as a "pin" when adding them to map) to map.
for element in mapVenues {
myMapView.addAnnotation(element)
}
}
func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView? {
if annotation is MKUserLocation {
return nil
}
let restaurantPinAnnotationView = MKMarkerAnnotationView(annotation: annotation, reuseIdentifier: "MyMarker")
restaurantPinAnnotationView.markerTintColor = UIColor.orange
restaurantPinAnnotationView.glyphImage = UIImage(named: "fork_and_knife")
restaurantPinAnnotationView.glyphTintColor = UIColor.white
return restaurantPinAnnotationView
}
func mapView(_ mapView: MKMapView, didSelect view: MKAnnotationView) {
guard let mapVenue = view.annotation as? MapVenue else { return }
presentSDVCitiesSelectedRestaurantFromMapModal(mapVenue: mapVenue)
}
private func presentSDVCitiesSelectedRestaurantFromMapModal(mapVenue: MapVenue) {
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let sdvCitiesSelectedRestaurantFromMapVC = storyboard.instantiateViewController(identifier: "SDVCitiesSelectedRestaurantFromMapViewController") as! SDVCitiesSelectedRestaurantFromMapViewController
let nav = UINavigationController(rootViewController: sdvCitiesSelectedRestaurantFromMapVC)
nav.setNavigationBarHidden(true, animated: false)
nav.modalPresentationStyle = .pageSheet
if let sheet = nav.sheetPresentationController {
sheet.detents = [.medium(), .large()]
sheet.prefersGrabberVisible = true
}
sdvCitiesSelectedRestaurantFromMapVC.theMapVenue = mapVenue
present(nav, animated: true, completion: nil)
}
}
class MapVenue: NSObject, MKAnnotation {
var name: String?
var id: String?
var latitude: Double?
var longitude: Double?
var coordinate: CLLocationCoordinate2D
var image_url: String?
var rating: Double?
var is_closed: Bool?
var distance: Double?
//COmmented out because dont need tis at the moment.
// var address: String?
var title: String? {
return name
}
// var subtitle: String? {
// return address
// }
init(name: String?,
id: String?,
latitude: Double?,
longitude: Double?,
coordinate: CLLocationCoordinate2D,
image_url: String?,
rating: Double?,
is_closed: Bool?,
distance: Double?) {
//Commented out because don't need this at the moment.
// address: String?) {
self.name = name
self.id = id
self.latitude = latitude
self.longitude = longitude
self.coordinate = coordinate
self.image_url = image_url
self.rating = rating
self.is_closed = is_closed
self.distance = distance
//Commented out because don't need this at the moment.
// self.address = address
}
}
Подробнее здесь: https://stackoverflow.com/questions/796 ... lock-swift
Код не выполняется после блока задачи Swift ⇐ IOS
Программируем под IOS
-
Anonymous
1748472718
Anonymous
Код не выполняется после определенной задачи блокировки в моем коде, который является частью более крупного проекта.
Я не использую do-catch в этой задаче block.
Почему это происходит? Оператор печати, который печатает то, что блок задачи извлекает, в конце задачи и печатает то, что он правильно извлекает. Этот блок задач происходит дважды в этом контроллере представления, однако код не выполняется после запуска в него в первый раз.Just the Task block:
Import UIKit
Task {
guard let venues = try? await getInitialRestaurantVenueInfoWithIfOpenAtSatOrSun201AMDateTimes_FriOrSatAfter2AMForUserPropertiesForMapView(latitude: latitudeForRetrievingData!,
longitude: longitudeForRetrievingData!,
category: "restaurants",
sortBy: "rating",
openAtForSaturday201AMDateTimeAfterFriday2AMForUser: retrieveNextSaturday201AMDateTimeOriginallyInSelectedLocationTimeZoneTimeInUnixTimeRelativeToTodayForSelectedLocation(),
openAtForSunday201AMDateTimeAfterSaturday2AMForUser: retrieveNextSunday201AMDateTimeOriginallyInSelectedLocationTimeZoneTimeInUnixTimeRelativeToTodayForSelectedLocation()) else {return}
self.venues = venues
//Print Check.
print("Print check. venues at the end of the Task block:", venues)
//Prints 'venues', which is an array of classes.
}
//Print Check.
print("Print Check. After Task block.")
//Doesn't print.
< /code>
CitiesMapViewController.swift:
import UIKit
import MapKit
import FloatingPanel
import CoreLocation
class CitiesMapViewController: UIViewController, MKMapViewDelegate, CitiesMapViewPanelSearchBarViewControllerDelegate, CLLocationManagerDelegate {
var selectedLocationViewModel: SelectedLocationViewModel!
let manager = CLLocationManager()
var venues: [CompleteInitialVenueInfoWithOpenAtSatSun201AMDateTime_FriSatForUserOpenAfter2AMProperties] = []
let myMapView = MKMapView()
let panel = FloatingPanelController()
private let nightBitesLabel: UILabel = {
let label = UILabel()
label.text = "Night Bites"
label.font = .systemFont(ofSize: 18, weight: .semibold)
return label
}()
override func viewDidLoad() {
super.viewDidLoad()
view.addSubview(myMapView)
view.addSubview(nightBitesLabel)
myMapView.delegate = self
let citiesMapViewPanelSearchBarVC = CitiesMapViewPanelSearchBarViewController()
citiesMapViewPanelSearchBarVC.delegate = self
panel.set(contentViewController: citiesMapViewPanelSearchBarVC)
panel.addPanel(toParent: self)
manager.requestAlwaysAuthorization()
manager.requestWhenInUseAuthorization()
if CLLocationManager.locationServicesEnabled() {
manager.delegate = self
manager.desiredAccuracy = kCLLocationAccuracyBest
}
else {
print("Error after pressing UserLocationButton (and possibly related to the GPS, per Question Poster's code and thought), after the line of code: 'if CLLocationManager.locationServicesEnabled() {'" )
}
self.makingVenuesMapVenuesAndAddingToMap(venues: self.venues)
}
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
myMapView.frame = view.bounds
nightBitesLabel.sizeToFit()
nightBitesLabel.frame = CGRect(x: 18, y: 38, width: nightBitesLabel.frame.size.width, height: nightBitesLabel.frame.size.height)
}
override func viewDidAppear(_ animated: Bool) {
manager.requestAlwaysAuthorization()
manager.requestWhenInUseAuthorization()
manager.startUpdatingLocation()
self.myMapView.showsUserLocation = true
self.myMapView.userTrackingMode = .follow
}
func showSelectedCityAreaRestaurantsAsPins(_ vc: CitiesMapViewPanelSearchBarViewController, didSelectLocationWith coordinates: CLLocationCoordinate2D?, latitudeForRetrievingData: Double?, longitudeForRetrievingData: Double?, venues: [CompleteInitialVenueInfoWithOpenAtSatSun201AMDateTime_FriSatForUserOpenAfter2AMProperties] = []) {
guard let coordinates = coordinates else {
return
}
panel.move(to: .tip, animated: true)
myMapView.removeAnnotations(myMapView.annotations)
//Zooming in the map to the selected City's pin.
myMapView.setRegion(MKCoordinateRegion(center: coordinates, span: MKCoordinateSpan(latitudeDelta: 0.5, longitudeDelta: 0.5)), animated: true)
Task {
guard let venues = try? await getInitialRestaurantVenueInfoWithIfOpenAtSatOrSun201AMDateTimes_FriOrSatAfter2AMForUserPropertiesForMapView(latitude: latitudeForRetrievingData!,
longitude: longitudeForRetrievingData!,
category: "restaurants",
sortBy: "rating",
openAtForSaturday201AMDateTimeAfterFriday2AMForUser: retrieveNextSaturday201AMDateTimeOriginallyInSelectedLocationTimeZoneTimeInUnixTimeRelativeToTodayForSelectedLocation(),
openAtForSunday201AMDateTimeAfterSaturday2AMForUser: retrieveNextSunday201AMDateTimeOriginallyInSelectedLocationTimeZoneTimeInUnixTimeRelativeToTodayForSelectedLocation()) else {return}
self.venues = venues
//Print Check.
print("Print check. venues at the end of the Task block:", venues)
//Prints 'venues', which is an array of classes.
}
//Print Check.
print("Print Check. After Task block.")
//Doesn't print.
//For Making each venue in venues MKAnnotations, and NSObjects.
//Creating Empty mapVenuesList called mapVenues.
var mapVenues: [MapVenue] = []
//For loop for Making each venue in venues MKAnnotations, and NSObjects. Bascially which can be used as pins, and which can be added to map when created.
for venue in venues {
var mapVenue = MapVenue(name: venue.name, id: venue.id, latitude: venue.coordinates.latitude, longitude: venue.coordinates.longitude, coordinate: CLLocationCoordinate2D(latitude: venue.coordinates.latitude, longitude: venue.coordinates.longitude), image_url: venue.image_url, rating: venue.rating, is_closed: venue.is_closed, distance: venue.distance)
//Appending a MapVenue to mapVenues.
mapVenues.append(mapVenue)
}
//For adding each mapVenue (is an NSObject, and MKAnnotation, so can be used as a "pin" when adding them to map) to map.
for element in mapVenues {
myMapView.addAnnotation(element)
}
}
func showUserLocationSymbolAndUserLocationAreaRestaurantsAsPins(_ vc: CitiesMapViewPanelSearchBarViewController, didSelectLocationWith coordinates: CLLocationCoordinate2D?, latitudeForRetrievingData: Double?, longitudeForRetrievingData: Double?, venues: [CompleteInitialVenueInfoWithOpenAtSatSun201AMDateTime_FriSatForUserOpenAfter2AMProperties] = []) {
guard let coordinates = coordinates else {
return
}
panel.move(to: .tip, animated: true)
myMapView.removeAnnotations(myMapView.annotations)
//Zooming in the map to the selected City's pin.
myMapView.setRegion(MKCoordinateRegion(center: coordinates, span: MKCoordinateSpan(latitudeDelta: 0.5, longitudeDelta: 0.5)), animated: true)
Task {
guard let venues = try? await getInitialRestaurantVenueInfoWithIfOpenAtSatOrSun201AMDateTimes_FriOrSatAfter2AMForUserPropertiesForMapView(latitude: latitudeForRetrievingData!,
longitude: longitudeForRetrievingData!,
category: "restaurants",
sortBy: "rating",
openAtForSaturday201AMDateTimeAfterFriday2AMForUser: retrieveNextSaturday201AMDateTimeOriginallyInSelectedLocationTimeZoneTimeInUnixTimeRelativeToTodayForSelectedLocation(),
openAtForSunday201AMDateTimeAfterSaturday2AMForUser: retrieveNextSunday201AMDateTimeOriginallyInSelectedLocationTimeZoneTimeInUnixTimeRelativeToTodayForSelectedLocation()) else {return}
self.venues = venues
}
self.makingVenuesMapVenuesAndAddingToMap(venues: self.venues)
}
func makingVenuesMapVenuesAndAddingToMap(venues: [CompleteInitialVenueInfoWithOpenAtSatSun201AMDateTime_FriSatForUserOpenAfter2AMProperties]) {
//For Making each venue in venues MKAnnotations, and NSObjects.
//Creating Empty mapVenuesList called mapVenues.
var mapVenues: [MapVenue] = []
//For loop for Making each venue in venues MKAnnotations, and NSObjects. Bascially which can be used as pins, and which can be added to map when created.
for venue in venues {
var mapVenue = MapVenue(name: venue.name, id: venue.id, latitude: venue.coordinates.latitude, longitude: venue.coordinates.longitude, coordinate: CLLocationCoordinate2D(latitude: venue.coordinates.latitude, longitude: venue.coordinates.longitude), image_url: venue.image_url, rating: venue.rating, is_closed: venue.is_closed, distance: venue.distance)
//Appending aMapVenue to mapVenues.
mapVenues.append(mapVenue)
}
//For adding each mapVenue (is an NSObject, and MKAnnotation, so can be used as a "pin" when adding them to map) to map.
for element in mapVenues {
myMapView.addAnnotation(element)
}
}
func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView? {
if annotation is MKUserLocation {
return nil
}
let restaurantPinAnnotationView = MKMarkerAnnotationView(annotation: annotation, reuseIdentifier: "MyMarker")
restaurantPinAnnotationView.markerTintColor = UIColor.orange
restaurantPinAnnotationView.glyphImage = UIImage(named: "fork_and_knife")
restaurantPinAnnotationView.glyphTintColor = UIColor.white
return restaurantPinAnnotationView
}
func mapView(_ mapView: MKMapView, didSelect view: MKAnnotationView) {
guard let mapVenue = view.annotation as? MapVenue else { return }
presentSDVCitiesSelectedRestaurantFromMapModal(mapVenue: mapVenue)
}
private func presentSDVCitiesSelectedRestaurantFromMapModal(mapVenue: MapVenue) {
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let sdvCitiesSelectedRestaurantFromMapVC = storyboard.instantiateViewController(identifier: "SDVCitiesSelectedRestaurantFromMapViewController") as! SDVCitiesSelectedRestaurantFromMapViewController
let nav = UINavigationController(rootViewController: sdvCitiesSelectedRestaurantFromMapVC)
nav.setNavigationBarHidden(true, animated: false)
nav.modalPresentationStyle = .pageSheet
if let sheet = nav.sheetPresentationController {
sheet.detents = [.medium(), .large()]
sheet.prefersGrabberVisible = true
}
sdvCitiesSelectedRestaurantFromMapVC.theMapVenue = mapVenue
present(nav, animated: true, completion: nil)
}
}
class MapVenue: NSObject, MKAnnotation {
var name: String?
var id: String?
var latitude: Double?
var longitude: Double?
var coordinate: CLLocationCoordinate2D
var image_url: String?
var rating: Double?
var is_closed: Bool?
var distance: Double?
//COmmented out because dont need tis at the moment.
// var address: String?
var title: String? {
return name
}
// var subtitle: String? {
// return address
// }
init(name: String?,
id: String?,
latitude: Double?,
longitude: Double?,
coordinate: CLLocationCoordinate2D,
image_url: String?,
rating: Double?,
is_closed: Bool?,
distance: Double?) {
//Commented out because don't need this at the moment.
// address: String?) {
self.name = name
self.id = id
self.latitude = latitude
self.longitude = longitude
self.coordinate = coordinate
self.image_url = image_url
self.rating = rating
self.is_closed = is_closed
self.distance = distance
//Commented out because don't need this at the moment.
// self.address = address
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79643071/code-not-executing-after-task-block-swift[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия