FROM : mmalcolm crawford
DATE : Wed Apr 06 09:52:54 2005
On Apr 5, 2005, at 11:22 PM, Paul Szego wrote:
>
> On 06/04/2005, at 2:48 PM, Will Mason wrote:
>>> On the other hand, if you don't need all these services and just aim
>>> for persistence, CoreData aren't what you need: just use an
>>> NSArchiver, and you get the support for any NSObject :))
>>>
>>
>> No, you don't. An object can be archived (sent to/read from an
>> NSCoder)
>> only if it adopts the NSCoding protocol.
>>
>
> A similar approach for CoreData would be better. Having a base
> class that implements this for free is a good thing, as long as
> that's not the only way to do it. Hopefully you wont be forced to
> extend a specific base class - that's just bad design.
>
The article is very clear:
"By default, the class used is NSManagedObject, but the class may be
either NSManagedObject or a subclass thereof."
If Core Data only addressed object persistence, then it might be
argued that this would be poor design. As noted earlier, however, it
also solves a much more difficult problem, and one that really only
affects data objects. Given the functionality that's provided for
free, requiring that your model classes inherit (ultimately) from
NSManagedObject instead of NSObject does not seem too onerous (I
suspect in most cases this will simply involve adding 7 characters to
your declaration...).
Indeed it's reasonable to argue that putting all the functionality of
a model object into the root class would be bad design. It would add
an unnecessary overhead to all the other system classes, from views
to controls to strings (which don't need to know what entity they
represent or what context they belong to(*))...
mmalc
(*) "In order to be properly managed, a data object needs to be
associated with its managed object context and an entity definition
that is part of the managed object model that is being implemented by
the context."
DATE : Wed Apr 06 09:52:54 2005
On Apr 5, 2005, at 11:22 PM, Paul Szego wrote:
>
> On 06/04/2005, at 2:48 PM, Will Mason wrote:
>>> On the other hand, if you don't need all these services and just aim
>>> for persistence, CoreData aren't what you need: just use an
>>> NSArchiver, and you get the support for any NSObject :))
>>>
>>
>> No, you don't. An object can be archived (sent to/read from an
>> NSCoder)
>> only if it adopts the NSCoding protocol.
>>
>
> A similar approach for CoreData would be better. Having a base
> class that implements this for free is a good thing, as long as
> that's not the only way to do it. Hopefully you wont be forced to
> extend a specific base class - that's just bad design.
>
The article is very clear:
"By default, the class used is NSManagedObject, but the class may be
either NSManagedObject or a subclass thereof."
If Core Data only addressed object persistence, then it might be
argued that this would be poor design. As noted earlier, however, it
also solves a much more difficult problem, and one that really only
affects data objects. Given the functionality that's provided for
free, requiring that your model classes inherit (ultimately) from
NSManagedObject instead of NSObject does not seem too onerous (I
suspect in most cases this will simply involve adding 7 characters to
your declaration...).
Indeed it's reasonable to argue that putting all the functionality of
a model object into the root class would be bad design. It would add
an unnecessary overhead to all the other system classes, from views
to controls to strings (which don't need to know what entity they
represent or what context they belong to(*))...
mmalc
(*) "In order to be properly managed, a data object needs to be
associated with its managed object context and an entity definition
that is part of the managed object model that is being implemented by
the context."
| Related mails | Author | Date |
|---|---|---|
| mmalcolm crawford | Apr 5, 17:33 | |
| Philip Mötteli | Apr 5, 23:49 | |
| Guy English | Apr 6, 00:29 | |
| Scott Stevenson | Apr 6, 01:14 | |
| Dustin Voss | Apr 6, 02:18 | |
| James Duncan David… | Apr 6, 02:27 | |
| Jake Macmullin | Apr 6, 02:31 | |
| John C. Randolph | Apr 6, 02:55 | |
| James Duncan David… | Apr 6, 03:01 | |
| Ondra Cada | Apr 6, 04:04 | |
| Will Mason | Apr 6, 04:48 | |
| Rogelio M.Serrano… | Apr 6, 06:05 | |
| Rogelio M.Serrano… | Apr 6, 06:06 | |
| mmalcolm crawford | Apr 6, 07:46 | |
| Paul Szego | Apr 6, 08:22 | |
| mmalcolm crawford | Apr 6, 09:52 | |
| ?????Andre? | Apr 6, 09:55 | |
| Ondra Cada | Apr 6, 12:21 | |
| oplus | Apr 6, 12:32 | |
| Mont Rothstein | Apr 6, 12:36 | |
| Philip Mötteli | Apr 6, 14:47 | |
| Scott Stevenson | Apr 6, 18:00 | |
| mmalcolm crawford | Apr 6, 18:39 | |
| Nat! | Apr 6, 22:35 | |
| mmalcolm crawford | Apr 6, 23:47 | |
| Timothy Reaves | Apr 7, 00:25 | |
| mmalcolm crawford | Apr 7, 00:50 | |
| Shawn Erickson | Apr 7, 01:05 | |
| James Duncan David… | Apr 7, 01:28 | |
| Todd Blanchard | Apr 7, 06:37 | |
| Todd Blanchard | Apr 7, 06:41 | |
| Scott Stevenson | Apr 7, 06:59 | |
| Philip Mötteli | Apr 7, 08:32 | |
| Marcel Weiher | Apr 7, 11:59 | |
| Charlton Wilbur | Apr 7, 15:11 | |
| Mike Ferris | Apr 7, 16:53 | |
| Marcel Weiher | Apr 7, 16:55 | |
| Marco Scheurer | Apr 7, 17:55 | |
| Marcel Weiher | Apr 7, 19:13 | |
| Scott Stevenson | Apr 7, 19:55 | |
| Marcel Weiher | Apr 7, 21:03 | |
| Mike R. Manzano | Apr 7, 21:21 | |
| Timothy Reaves | Apr 7, 22:03 | |
| Evan DiBiase | Apr 7, 22:28 | |
| Marcel Weiher | Apr 7, 22:35 | |
| mmalcolm crawford | Apr 7, 23:05 | |
| ttempel | Apr 8, 01:50 | |
| Paul Szego | Apr 8, 11:50 | |
| Johnny Deadman | Apr 8, 14:10 | |
| Philippe Mougin | Apr 8, 16:52 | |
| Shawn Erickson | Apr 8, 17:07 | |
| Shawn Erickson | Apr 8, 17:17 | |
| Ralph Scheuer | Apr 8, 17:28 | |
| Ralph Scheuer | Apr 8, 17:32 | |
| John Brownlow | Apr 8, 17:47 | |
| Charlton Wilbur | Apr 8, 18:34 | |
| Scott Stevenson | Apr 8, 18:43 | |
| Ralph Scheuer | Apr 8, 19:03 | |
| Philippe Mougin | Apr 8, 20:37 | |
| Scott Ellsworth | Apr 8, 21:46 | |
| Scott Ellsworth | Apr 8, 21:48 | |
| Evan DiBiase | Apr 8, 22:16 | |
| mmalcolm crawford | Apr 8, 22:30 | |
| mmalcolm crawford | Apr 8, 23:13 | |
| Marcel Weiher | Apr 9, 02:20 | |
| Marcel Weiher | Apr 9, 02:46 | |
| Scott Ellsworth | Apr 9, 09:39 | |
| Marcel Weiher | Apr 9, 09:44 | |
| Byron Ellis | Apr 9, 10:37 | |
| Marcel Weiher | Apr 9, 14:03 | |
| Charlton Wilbur | Apr 9, 16:01 | |
| ?????Andre? | Apr 9, 18:08 | |
| Scott Stevenson | Apr 9, 18:24 | |
| Scott Stevenson | Apr 9, 18:27 | |
| Marcel Weiher | Apr 10, 00:06 | |
| Marcel Weiher | Apr 10, 00:16 | |
| Marcel Weiher | Apr 10, 00:38 | |
| ?????Andre? | Apr 10, 01:03 | |
| Charlton Wilbur | Apr 10, 01:13 | |
| mmalcolm crawford | Apr 10, 01:53 | |
| Scott Stevenson | Apr 10, 01:58 | |
| Todd Blanchard | Apr 10, 08:32 | |
| mmalcolm crawford | Apr 10, 08:52 | |
| mmalcolm crawford | Apr 10, 09:25 | |
| PA | Apr 10, 12:08 | |
| mmalcolm crawford | Apr 30, 10:18 |






Cocoa mail archive

