Scalar type in Managed Object only works for IPhon

2020-05-24 20:28发布

问题:

Property 'Latitude' is a scalar type on class 'LatitudeLongitude'. Cannot generate a setter method for it.

When I generated codes for my managed object, I got a message whether I want scalar properties for primitive data type. should I use it? I want to make this application compatible with iPhone 3 - 5

is there any issues with this problem?

回答1:

When you use scalar properties you have to provide implementations of getters and setters for those properties by yourself, as described in documentation:

"You can declare properties as scalar values, but for scalar values Core Data cannot dynamically generate accessor methods—you must provide your own implementations (see “Managed Object Accessor Methods”). Core Data automatically synthesizes the primitive accessor methods (primitiveLength and setPrimitiveLength:), but you need to declare them to suppress compiler warnings."

Documentation

At this place I would recommend you to check this post core-data-scalars.

I hope I have helped.



回答2:

This is not true, scalars have been supported in Core Data out of the box for a long time. You do not have to implement custom accessors as many blog posts out there indicate.