From 1f866fb89c223ed7f64e820e3e43a043c85736da Mon Sep 17 00:00:00 2001 From: Rob Jonson Date: Fri, 31 Oct 2014 16:09:52 +0000 Subject: [PATCH] support initWithFrame move setup to shared method to support both init methods. --- DragDropDemo/DragDropImageView.m | 34 ++++++++++++++++++++++---------- 1 file changed, 24 insertions(+), 10 deletions(-) diff --git a/DragDropDemo/DragDropImageView.m b/DragDropDemo/DragDropImageView.m index 00fd308..78f66cb 100755 --- a/DragDropDemo/DragDropImageView.m +++ b/DragDropDemo/DragDropImageView.m @@ -17,21 +17,35 @@ @implementation DragDropImageView NSString *kPrivateDragUTI = @"com.yourcompany.cocoadraganddrop"; -- (id)initWithCoder:(NSCoder *)coder + +- (instancetype)initWithFrame:(NSRect)frame { - /*------------------------------------------------------ - Init method called for Interface Builder objects - --------------------------------------------------------*/ - self=[super initWithCoder:coder]; - if ( self ) { - //register for all the image types we can display - [self registerForDraggedTypes:[NSImage imagePasteboardTypes]]; - self.allowDrag = YES; - self.allowDrop = YES; + self = [super initWithFrame:frame]; + if (self) + { + [self setup]; } return self; } +- (instancetype)initWithCoder:(NSCoder *)coder +{ + self = [super initWithCoder:coder]; + if (self) { + [self setup]; + } + return self; +} + +- (void)setup +{ + [self registerForDraggedTypes:[NSImage imagePasteboardTypes]]; + self.allowDrag = YES; + self.allowDrop = YES; +} + + + #pragma mark - Destination Operations - (NSDragOperation)draggingEntered:(id )sender