// // NSMenu+RepresentedObjectAccessors.m // Enjoyable // // Created by Joe Wreschnig on 3/4/13. // // #import "NSMenu+RepresentedObjectAccessors.h" @implementation NSMenu (RepresentedObjectAccessors) - (NSMenuItem *)itemWithRepresentedObject:(id)object { for (NSMenuItem *item in self.itemArray) if ([item.representedObject isEqual:object]) return item; return nil; } - (void)removeItemWithRepresentedObject:(id)object { NSInteger idx = [self indexOfItemWithRepresentedObject:object]; if (idx != -1) [self removeItemAtIndex:idx]; } - (NSMenuItem *)lastItem { return self.itemArray.lastObject; } - (void)removeLastItem { if (self.numberOfItems) [self removeItemAtIndex:self.numberOfItems - 1]; } @end @implementation NSPopUpButton (RepresentedObjectAccessors) - (NSMenuItem *)itemWithRepresentedObject:(id)object { return [self.menu itemWithRepresentedObject:object]; } - (void)selectItemWithRepresentedObject:(id)object { [self selectItemAtIndex:[self indexOfItemWithRepresentedObject:object]]; } @end