New version of ASObj-C database version a8



I’m posting a new version of the ASObj-C Database a12. Apparently the older version did not properly display the version number in the aboutbox. This has now been fixed. To see the version of the ASObj-C Database go to the ASObj-C menu and choose “About ASObj-C…” from the menu. The database name and version are displayed at the top of the about box.

I uploaded ASObj-C Database to Dropbox. The download link is:

For anyone who doesn’t have copy of the app to run the file it is uploaded to dropbox. The download link is:

Version a12 also has some other new things.

I can remember being frustrated with NSNumbers in the beginning. Everybody told me they are a box to put things in, but never say what to do with the box. So I added 3 NSNumber properties and 5 NSNumber methods to the data base that actually accomplish something using NSNumbers. The samples for NSNumber show exactly what can be done with NSNumbers.

Changed the advanced sample for writeToFile:atomically:encoding:error: Previously it did no error checking. Now it does full error checking. This is a full error checking that properly handle errors in a meaningful way. Most of the time people just enter “missing value” for the “error” parameter. The new version shows the general process of handing errors with dialogs.

Since I used the NSError properties: domain, localizedDescription and code to handle error notification I added these properties to the database. I put the samples for NSError into the advanced Samples. This seemed like an advanced operation for beginners and perhaps those in the intermediate level. But if people want I can put in other levels as well.

The reason I used “localizedDescription” property instead of “userInfo” property to extract the NSError information was because a few time I used “userInfo” the information was displayed in a foreign language. “localizedDescription” is guaranteed to display in the correct language.

I don’t know if I ever mentioned it or not but the reason I make the modification date and creation date visible on the database is so users can tell what things were added recently and when things were initially added. I think this is useful information. But if it is a problem for some one, the only reason I can think is screen space, let me know.



I uploaded ASObj-C Database to Dropbox. The download link is:

For anyone who doesn’t have copy of the app to run the file it is uploaded to dropbox. The download link is:

This version has a new feature and a few more words added to the glossary. Of the original planned features for the database all but 1 have been implemented. The remaining feature is key word searching. This is the hardest because a person has to really think about it to get a good key word list. The right key words will do as Ed said “Allow a person to find something they didn’t know existed.” The wrong words leave the user in the same state as before the key words were added or the user is in a better state but not better enough.

After the key words are done I will be focusing on mostly database entry and adding whatever feature might turn up missing later on.

The new feature is in a new window called “Display Inheritance Path”. There is a new button at the bottom middle of the “Framework,” “class” and “class items” windows titled “Display Inheritance path.” Clicking the button brings up a window of the same name. The window has a list of classes. Each line in the window starts out with NSObject (all classes ultimately inherit from NSObject) and then shows a unique line inheritance until it reaches the end of the line which means I don’t know of any more subclasses. But there could be more.

Each line has a ––> symbol. This symbol is intended to to indicate the class pointed to is receiving inherited classes from the left side. Sometimes the inheritance path will repeat a line above or below it for a while. This means both lines share the same inheritance path up to the point where the class names in the lines no longer match. For example: the lines “NSObject ––> NSString ––> NSLocalizableString” and “NSObject ––> NSString ––> NSMutableString” means there is a single path for Inheritance until after NSString, then there are multiple lines of inheritance.

The reason this is important for ASObj-C is knowing the the properties, methods, enums, … for a particular class is not enough to work with in ASObj-C. Unless you’re working with the NSObject class the current class you’re using only shows part of what can be done. When you find the class you want to work with in this list, all the things in the classes to the left of the chosen class are inherited. Unfortunately locating a decent list or complete lists of these inheritances is very hard, if not impossible, to find. So the current list of inheritances are show in this list. Overtime they may change but I would guess a good sized part of the list will stay correct for a long time.

There is also a live search that can be used on the list. The search box is in the top right corner of the window. To use this just type in the class name you are working with then only lines that contain that class will appear. This makes it much easier to find the inheritance line you’re looking for. The usual record status is shown in the upper right of the window. Also the “Show all” records, “Omit record” selected and the “Show Omitted” records not currently displayed in the list can be used to start over, or it can be used to reduce the number of inheritance lines shown.

After finding the classes that were inherited from the database, the same database can be used to find out what those can actually classes do.



I created a new topic for the ASObj-c database called “New version of ASObj-C database version a14” The old topic was getting pretty long.


(Ed Stockly) #24

Here’s some feedback…

In the script we were working on, I wanted to find each of the commands/classes/parameters in the database but couldn’t. And I realized that searching the database is a bit of a pain.

It seems that if I’m in the frameworks list a search only finds things in that list. It seems I have to know what framework, class etc. the thing I’m searching for is in to find it. If I knew that I probably wouldn’t need to search for it.

It would be nice to be able to just double-click on the framework to get to the class list, and so on.

The Previous and Next buttons at the bottom of the scrolling field don’t work. I get a couple error messages each time I click them.

What I’m really hoping for, and I’m not sure if the database is designed to do this or not, or maybe I’m just missing it, is to look up something like:

SDBundle’s infoDictionary()'s objectForKey

And see all the information I can get from SDBundle; from its infoDictionary and what object keys I would need to do that.

SD and OS X version script

The post for ASObj-C has been moved to a new permanent topic called
Permanent place for ASObj-C database

All further post will go to this topic