GMSMarker
does not respond to encodeWithCoder:
, so you can't put it into a dictionary that will then be encoded (which is what happens when you set a dictionary as an attribute in core data).
You should just be storing the underlying data waypoints in core data and then rebuilding the UI from that when requested.