Submitted by Adam Knight on February 19, 2007 - 1:16am
Take note, Core Data programmers, something stupid is afoot, and it’s even documented.
If you pass object URIs around like candy within your program for things like drag-and-drop or token fields or any other representation of your objects and then have to get the object back, use objectRegisteredForID instead of objectWithID.
When you use objectWithID you should note that it will never return nil to you on failure. It will create an invalid object and leave it astray in your managed object context preventing your users from saving their document unless you track it down and delete it. What they get instead is the following in the console.log:Read more
Submitted by Adam Knight on November 18, 2006 - 7:19pm
Dragging and dropping a Core Data object between documents is a little bit of hell. The reason for this is that they aren’t NSCoding compliant and there’s no easy way to do it because initWithCoder: doesn’t let you set the managed object context to whatever the current one is. So the solution for copying, and thus for drag and drop, has been to gather a list of properties for the object and then send that over in the drag and then decode that on the other end.
Well, I found a rather quick way of doing this, and one that’s really quite easy and keeps maintenance of the data types to copy and set completely in the model (always good). Implement a method on your model object called dictionaryRepresentation and return an NSDictionary with property list types for all your data. Ensure that the keys used in the dictionary correspond to the KVC properties of your model object. To recreate the object at the other end, insert an object of the proper type into the MOC and then use the really freaking handy NSObject method setValuesForKeysWithDictionary: and pass it that dictionary. It will then iterate over it using your KVC methods and add everything back in.Read more
Submitted by Adam Knight on November 18, 2006 - 6:46pm
A question for those that care about such things.
When you have autosave turned on, do you expect that closing the document will automatically save it without prompting?
Pro: You’ve already committed to having your data saved without your requesting it.
Con: While a document is open, there’s always undo. Once you’ve closed it, you’re stuck with what you’ve got.
Caveat: I’d rather not have to add a preference to change this behavior. It should “just work.”
Thoughts?
Submitted by Adam Knight on November 16, 2006 - 6:53pm
So far, I have the following done:
New FeaturesRead more
- Supports multiple note types, including rich text, PDF (read-only), and Web Archive (read-only).
- Imports Web Archive, URLs, and HTML files on-disk as web notes.
- Imports PDF files on-disk as PDF notes.
- Exports to iPod as textual notes, even to multiple iPods at once.
- Full-screen editing mode.
- Tags browser makes it much easier to find notes without searching.
- Note header makes editing tags and renaming much easier.
- New option to do nothing at startup.
- Table area supports the Home/End/Delete keys as one would expect.
- Complete Unified appearance. Pinstripes are dead.
Submitted by Adam Knight on November 16, 2006 - 5:16pm
So you’re in another app and you want to make a note. You can use the service, but which document will that go to? Also, what if you want to make changes to the note’s content as you save it, like add a title or tags?
Well, you hit your hotkey and bring up Quick Entry.

Pick the right document, enter the information (the tags even auto-complete based on the selected document), and either clear it (for temporary scratch space) or save it to the Read more
Submitted by Adam Knight on November 15, 2006 - 10:15pm
I thought about Smart Folders, and I thought about the tag list idea I had, and I thought about a few other ways to make tags easier to use and navigate, but in the end I disliked all the ideas I’d come up with as far because of what they would do to the interface. I really wanted it to be an option to have the interface clean and sparse like 1.x if the user wanted it and all of the other ways just seemed to get in the way.
Well, then I recalled a browser I’d seen for tags in some other program, and I’ve honestly forgotten which, and realized that I could hack it up in about an hour of messing around (since I’d never used NSBrowser before). It turns out that this is, by far, the easiest way to browse through a ton of tags, and I’m rather satisfied with it. Behold, the Tag Browser for 2.0:Read more
Submitted by Adam Knight on November 11, 2006 - 6:08pm
So I have two other ideas for the header style and I rather like them both. The first is a white background to make it more “note-like” and the second is a variation on the former idea, just smaller and without the bordered items so it looks cleaner (note the lighter gradient when the area has focus).
Thoughts?


Read more
Submitted by Adam Knight on November 10, 2006 - 1:09pm
Because I’m a tease, and because I want criticism. The header (part of the note view) will be togglable via a shortcut, and will show in the full screen view. If you keep your list on the side, the header will be under the toolbar. Click to pop a full size view.
Read more
Submitted by Adam Knight on August 22, 2006 - 4:40pm
Some notes on Notae at this point:Read more
- The next release will likely be 1.2.
- The Untitled tag issue has been fixed. Core Data’s use of temporary object IDs is infuriating.
- Import from URL crashing on specific pages is a Cocoa bug and has been reported. I’m looking at alternative solutions at the moment, the most likely of which may turn into a new feature (WebKit/WebArchives).
- Unsaved changes blocking logout is a Core Data bug and has been reported. I do not see a way to work around it other than not prompting for the save at all (very bad).
- I’m almost done with read-only AppleScript support.
Submitted by Adam Knight on May 27, 2006 - 3:00pm
I’m hoping to get some translations of Notae going for future releases. If you’re proficient in English and any other language and willing to help out, please let me know. I can offer a little cash, a free license to the program, and a credit in the about box (including a link to your site).
I use Blue Tec’s Localizer Suite so you won’t have to know about NIBs or strings files or whatnot. You’ll just get a file and a free program and run down the list of strings and send me the results.
Get in touch with me witRead more
|
|