Re: Subclassing a view class from an external framework
Re: Subclassing a view class from an external framework
- Subject: Re: Subclassing a view class from an external framework
- From: Jeff Johnson <email@hidden>
- Date: Sat, 17 Oct 2009 13:30:37 -0500
After further experimentation, I've found the problem. Interface
Builder doesn't find private header files in a framework. When I
changed the header file from private to public, Interface Builder
found it.
<rdar://problem/7312530> Interface Builder doesn't find private
headers in framework
-Jeff
On Oct 17, 2009, at 11:36 AM, Jeff Johnson wrote:
Hi Kevin.
This occurs with both IB 3.2.1 on 10.6 and IB 3.1.2 on 10.5.
In the IB info window I get these warnings:
1) The 'delegate' outlet of 'AHTSessionWindow' is connected to
'File's Owner' but 'delegate' is no longer defined on AHTWindow.
2) The 'window' outlet of 'File's Owner' is connected to
'AHTSessionWindow' but 'AHTWindow' is not a kind of 'NSWindow' as
specified by the outlet type.
AHTWindow is a subclass of an NSWindow subclass defined in one of my
frameworks. Doing "Reload All Class Files" in IB does not make the
warnings go away. However, "Read Class Files..." with the particular
header file from my framework does make the warnings go away.
The source files themselves compile without warnings, so Xcode is
certainly able to find the header file in my framework.
-Jeff
On Oct 15, 2009, at 6:24 PM, Kevin Cathey wrote:
Although Interface Builder 3 is supposed to automatically sync
with header files in your project, it seems to have trouble with
headers in frameworks.
Which version of Interface Builder were you seeing this on? IB
3.2.x will parse the headers for all frameworks you've linked
against in your Xcode project.
Kevin
On 13 Oct 2009, at 07:55, Jeff Johnson wrote:
Hi Mark.
I had the same problem with NSWindow subclasses. Although
Interface Builder 3 is supposed to automatically sync with header
files in your project, it seems to have trouble with headers in
frameworks. What I did was select "Read Class Files..." in the
"File" menu of Interface Builder and read the header file for my
framework class. The solved the problem for me.
-Jeff
On Oct 12, 2009, at 11:22 AM, Mark Gallegly wrote:
I have an NSView subclass defined in a framework called
FrameworkView. The
FrameworkView class has a property like so:
@property (nonatomic, retain) IBOutlet NSView* someView;
This framework has the necessary code in it to work as an
Interface Builder
plugin, and everything seems to work fine in Interface Builder.
However, if I subclass the FrameworkView in a separate project
that contains
my .app target, with say a class called MyFrameworkViewSubclass,
I get a
warning like this when building the .xib file containing
MyFrameworkViewSubclass:
The 'someView' outlet of 'MyFrameworkViewSubclass' is connected
to 'Custom
View' but 'someView' is no longer defined on
MyFrameworkViewSubclass.
Now, within IB the outlet shows up and I am able to make the
connection, and
when the app runs everything works fine, but for some reason
XCode spits out
this warning. Does anybody know what is going on here and how to
get rid of
the warning?
_______________________________________________
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