Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Swift 2, warning: could not load any Objective-C class information from the dyld shared cache

I have found a few questions regarding this issue, yet none of them were helping with my problem. I am trying to save an object to core data using this code (which worked perfectly fine in Xcode 6 and Simulator...):

let fetchRequest = NSFetchRequest(entityName: "Patient") let fetchedResults : [NSManagedObject]! do {     fetchedResults = try managedContext.executeFetchRequest(fetchRequest) as! [NSManagedObject]     patienten = fetchedResults }    catch {     print("error") } 

I added the do-try-catch once I started working on this project in the Xcode 7 beta and a physical device. Now, when I hit the Save button, this piece of code is called, the app freezes and I get the following:

warning: could not load any Objective-C class information from the dyld shared cache. This will significantly reduce the quality of type information available.

Screenshot

Does anybody know where I went wrong?

like image 302
zero Avatar asked Jul 15 '15 13:07

zero


1 Answers

For anyone coming across this in the future, I just ran into this problem myself and it turned out that I was actually getting a stack overflow from a recursive function.

Apparently calling setValue:forKey: on an NSObject calls the respective set[Key] function, where [Key] is the (capitalized) name you gave to the forKey section.

So, if like me, you have code that looks like the following, it will cause an infinite loop and crash.

func setName(name: String) {     self.setValue(name, forKey: "name") } 
like image 83
thislooksfun Avatar answered Sep 21 '22 09:09

thislooksfun