Ich habe einen Block von Code, der vor dem neuesten Swift 2.2-Update zu funktionieren schien, aber jetzt funktioniert es nicht. Unten sind die relevanten Auszüge des Codes.Swift 2.2: Wert des Typs 'Element' (auch bekannt als 'AnyObject') hat kein Mitglied 'objectID'
class Event {
var eventObjectID:NSManagedObjectID?
var eventDate:NSDate?
var eventNotes:String?
var eventType:String?
init(eventObjectID: NSManagedObjectID, eventDate: NSDate, eventNotes: String, eventType: String) {
self.eventObjectID = eventObjectID
self.eventDate = eventDate
self.eventNotes = eventNotes
self.eventType = eventType
}
}
class EventsViewController: UIViewController {
var eventsListArray:[Event] = [Event]()
var selectedAquarium:Aquarium!
var selectedFilters = [String]?()
//Load Core Data into the noteListArray so that we can populate the table view.
func setEventsListArray() {
//Fetch all of the events from Core Data
var results: NSArray = fetchFromCoreData("Event")
//Sort the list so that the newest entries are on top
let sortDescriptor = NSSortDescriptor(key: "eventDate", ascending: false)
results = results.sortedArrayUsingDescriptors([sortDescriptor]) as NSArray
//Find only the event entries that are related to this aquarium and match the selected filters
if (results.count > 0) {
for fetchResult in results {
let currentAquarium = fetchResult.valueForKey("aquarium") as! CoreDataAquarium
for selectedFilter in selectedFilters! {
let currentEventType = fetchResult.valueForKey("eventType") as! String
//Find only the events related to this aquarium and scrap the rest
if (currentAquarium.objectID == selectedAquarium.aquariumObjectID && currentEventType == selectedFilter) {
//"This event matches the filter..."
let newEvent:Event = Event(eventObjectID: fetchResult.objectID,
eventDate: fetchResult.valueForKey("eventDate") as! NSDate,
eventNotes: fetchResult.valueForKey("eventNotes") as! String,
eventType: fetchResult.valueForKey("eventType") as! String)
eventsListArray.append(newEvent)
}
}
}
} else {
print("No results returned...")
}
}
}
ich die folgenden zwei Fehler in der Zeile, wo ich newEvent (nahe dem Ende des Codes) zu initialisieren:
- Verwendung von nicht deklarierten Typ ‚NSManagedObjectID‘
- Werten vom Typ ‚Element ' (alias' AnyObject ') hat kein Mitglied' objectID '
Haben diese Fehler mit dem neuen Swift-Sprachupdate zu tun? Oder vermisse ich gerade etwas wirklich Offensichtliches?
Haben Sie vergessen, CoreData zu importieren? – matt
Durn it .... Ja, habe ich. Haha danke! – Josh
Ich werde das als eine tatsächliche Antwort eingeben. – matt