Interface Builder creates unwanted script functions?

Let’s say I create an text field object in a Interface Builder and attach the “keyboard up” command to it. That will automatically create a “keyboard up” function in my script.

If I delete the text field without first turning off the “keyboard up” connection, I will never be able to delete the “keyboard up” function from my script. Every time I do so, it gets recreated the next time I perform a save in Interface Builder. NO other object calls this function. The object that was deleted was the only one that needed it, but it is no longer around so it shouldnt’t need to be created.

Does anyone know if there is a way to get Interface Builder to re-evaluate its script connections?

I’ve tried Cleaning the project but it doesn’t help.

I’ve tried re-writing the file with /usr/bin/nibtool but this also didn’t help.

Any ideas?


Sorry, I’m pretty sure this can not be avoided. I’ve not found a way to get rid of them, and yes they are a nuisance, but theie presence does not seem to have any ill side-effects. You could move them all to the bottom of your script so they’re out of the way. Other than starting over, or using the handlers somewhere else, there’s no good solution I have found. Your best bet is to get in the habit of disconnecting objects before deleting them.


Hmphr. :- That’s what I figured.

I’ve filed a bug report with Apple (probably a duplicate, but you never know).