• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Document-Based Application
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Document-Based Application


  • Subject: Re: Document-Based Application
  • From: Graham Cox <email@hidden>
  • Date: Mon, 27 Jul 2009 15:10:56 +1000


On 27/07/2009, at 2:09 PM, Quincey Morris wrote:

On Jul 26, 2009, at 20:39, David Blanton wrote:

I have 22 file types, each with its own C++ methods for extracting its data.

Now, I could use just one subclass of NSDocument and in the

- (BOOL)readFromData:(NSData *)data ofType:(NSString *)typeName error:(NSError **)outError

method do a case statement on typeName BUT I think it would be cleaner to subclass NSDocument for each of my file types and override only the read and write methods.

If the *only* reason for making separate subclasses is the code to extract the data, I don't see any great advantage. You need 22 pieces of code, and it's probably easier for housekeeping purposes to keep them all in one place than to spread them around. (But separate subclasses would be in no way wrong.)


If there are other behavioral differences, then it might make more sense to use different subclasses.

HTH IMO FWIW


There are many other approaches you could take also.

In my app I have one document class but a simple schema for extending the types of files it can read and write by mapping file types (and/or UTIs) to specific method selectors. The mapping table is a simple dictionary. This allows me to add the method via a category, amend the mapping table and info.pList and away it goes. The core document class never changes so I can reuse that code in many different apps.

This is no better or worse in terms of the amount of code you need to write but it does make managing it quite easy.

--Graham
_______________________________________________

Cocoa-dev mailing list (email@hidden)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden


  • Follow-Ups:
    • Re: Document-Based Application
      • From: Jeffrey Oleander <email@hidden>
References: 
 >Document-Based Application (From: David Blanton <email@hidden>)
 >Re: Document-Based Application (From: David LeBer <email@hidden>)
 >Re: Document-Based Application (From: David Blanton <email@hidden>)
 >Re: Document-Based Application (From: Quincey Morris <email@hidden>)

  • Prev by Date: Re: When is an NSTextField editor created?
  • Next by Date: Re: Cocoa Document-Based App v. Windows MDI App
  • Previous by thread: Re: Document-Based Application
  • Next by thread: Re: Document-Based Application
  • Index(es):
    • Date
    • Thread