Редактировать 1: я реструктурировал свои ViewController'ы, чтобы упростить выполнение того, что я хочу.
Редактировать 2: я понял, что при добавлении примечаний к моему коду чего-то не хватает, другая функция переопределяет первый переход.
В этом ViewController создается аннотация; все, что мне нужно от этого представления, это передать touchMapCoordinates другому ViewController, чтобы я мог сохранить PFGeoPoint в массиве.
Редактировать 3 После долгой работы над пониманием того, что происходит, и упрощением кода я пришел к окончательному выводу, основанному на Переменная Swift не инициализирована перед использованием (но не используется) , что текущий метод, который я пытаюсь использовать не будет работать в любом случае или сценарии из-за асинхронного сохранения. Если кто-то знает обходной путь, то вы официально сделали что-то, чего раньше не делали :).
Ошибка, которая появляется
Константа 'boi', используемая до инициализации
Подкласс, объявленный в Appdata для использования в любом месте проекта
import Foundation
import Parse
import MapKit
class MyAnnotation: PFObject, PFSubclassing, MKAnnotation {
// MARK: - Properties
@NSManaged var location: PFGeoPoint
// MARK: - Initializers
init(coordinate: CLLocationCoordinate2D) {
super.init()
self.location = PFGeoPoint(latitude: coordinate.latitude, longitude: coordinate.longitude)
print(location)
}
override class func initialize() {
struct Static {
static var onceToken : dispatch_once_t = 0;
}
dispatch_once(&Static.onceToken) {
self.registerSubclass()
}
}
// MARK: - PFSubclassing protocol
static func parseClassName() -> String {
return "AnnotationPins"
}
// MARK: - MKAnnotation protocol
var coordinate: CLLocationCoordinate2D {
return CLLocationCoordinate2DMake(location.latitude, location.longitude)
}
var title: Строка? = Начать тему
}
Где весь код будет сохранен асинхронно вместе
} else {
let imageData = UIImagePNGRepresentation(self.galleryCameraImage.image!)
let parseImageFile = PFFile(name: "upload_image.png", data: imageData!)
let boi : MyAnnotation
let textTitleandText = PFObject(className: "AnnotationPins")
textTitleandText["textTopic"] = userTopic.text
textTitleandText["textInformation"] = userText.text
textTitleandText["userUploader"] = PFUser.currentUser()
textTitleandText["imageFile"] = parseImageFile!
textTitleandText["location"] = boi.location
textTitleandText.saveInBackgroundWithBlock { (success: Bool, error: NSError?) -> Void in
if error == nil {
Если бы кто-нибудь мог помочь, это было бы очень признательно!