Re: Questions for a new mac developer...
Re: Questions for a new mac developer...
- Subject: Re: Questions for a new mac developer...
- From: Scott Thompson <email@hidden>
- Date: Wed, 12 Sep 2007 09:15:47 -0500
On Sep 11, 2007, at 4:27 PM, Kevin White wrote:
1- I have a design where I'd like to have "tabbed" views. Similar to
firefox browser tabs. Is this a standard cocoa component for me to
use?
The NSTabbedView seems to be using a sectioned control rather than
traditional tabs. What should I use if I want a tabbed look?
On the surface, this sounds like an ill-conceived design choice. If
you implement your own look and feel then your application will not
benefit from the advantages that a common user interface brings to the
table.
Nothing will kill your application faster in the Macintosh market than
if it looks like a poorly ported Windows app.
2- I have another view where I'd like an iTunes-like appearance. If
you use
the television shows area of your itunes library, you'll see show
icons
(with details under the icon) down the side, and a list of episodes
for each
show. So it's one big scroll view, sectioned off for the various
categories, and items for each category. I'd like to achieve a
similar look
but have not the foggiest clue of where to begin to get a view like
this.
You probably want to use an NSTableView with a custom NSCell subclass.
3- I have yet another view to program where it needs to be a
scrolling view
and several detail boxes down the scrolling view. For example,
let's say I
have 15 items to display, each with a fairly lengthy text note. I'd
like
the items to be displayed one after another (with their notes) in a
scrolling view. Each item should appear to be in its own box. To
top it
off, I'd like to get a custom-rendered background for this view.
This also sound like you could use an NSTableView with a custom NSCell
subclass.
4- I currently plan to store app data in xml files. Yet the mac "way"
appears to be more with bindings, controllers, and related data
sets. How
can I use bindings, controllers, and other similar mac technologies
properly
and yet keep my data in xml formats?
Core Data allows you to save your information in XML format. However,
I suspect that what you want is to use your own XML schema. In that
case, there is nothing to keep you from following the Model-View-
Controller paradigm. Your model simply needs to know how to serialize
and un-serialize itself from your XML representation. Cocoa provides
NSXML for this. Our application uses Xerces.
I know that leopard is coming out soon, and with it some new developer
technologies and tools. I don't know how that will change things
for me,
and I understand that apple doesn't want you talking too much about
those
yet. But if appropriate, and you're allowed to, you can just say
"wait for
leopard" on certain topics, and I'll just wait for that. :)
One thing you might want to wait on is the Collection view.
Yes, these are some big questions. If you can link me to recommended
tutorials that would explain the concepts for these questions, or
answer
them, or provide doc reference links, or whatever, I'd appreciate
it. :)
http://developer.apple.com/referencelibrary/GettingStarted/GS_Cocoa/index.html
http://andymatuschak.org/articles/2007/09/09/getting-started-with-cocoa-a-friendlier-approach/
http://www.amazon.com/Cocoa-Programming-Mac-OS-2nd/dp/0321213149
http://developer.apple.com/documentation/Cocoa/Conceptual/CocoaFundamentals/CocoaDesignPatterns/chapter_5_section_4.html
http://developer.apple.com/documentation/Cocoa/Conceptual/TableView/index.html
http://developer.apple.com/documentation/Cocoa/Conceptual/ControlCell/index.html
http://developer.apple.com/documentation/Cocoa/Conceptual/NSXML_Concepts/index.html
http://developer.apple.com/documentation/Cocoa/Conceptual/XMLParsing/index.html
_______________________________________________
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