ios - How to know UIBarButtonItem selector's name -
i'm developing splitview based app ios
where added button on master viewcontroller hidding view, did this
masterviewcontroller.m
- (ibaction)hidemasterviewcontroller:(id)sender { if (!app) { app = (appdelegate *)[[uiapplication sharedapplication] delegate]; } if (!currentsplitviewcontroller) { currentsplitviewcontroller = (uisplitviewcontroller *) app.window.rootviewcontroller; } navcontroller = [currentsplitviewcontroller.viewcontrollers lastobject]; uibarbuttonitem *button = [[[[navcontroller childviewcontrollers] objectatindex:0] navigationitem ] leftbarbuttonitem]; [button.target performselector:button.action]; }
as can see added functionallyty of detail view controller's leftbarbuttonitem on own button , ordered perform it's own selector here
[button.target performselector:button.action];
but warning :
performselector may cause leak because selector unknown
i did way since detail controller has prebuilt , don't know it's selector's name, how know that???
edit: these 2 screens:
detailviewcontroller (original pre-built button)
masterviewcontroller (where developed button clone pre-built button in detail view)
edit: jesus gonna set answer:
- (ibaction)hidemasterviewcontroller:(id)sender { if (!app) { app = (appdelegate *)[[uiapplication sharedapplication] delegate]; } if (!currentsplitviewcontroller) { currentsplitviewcontroller = (uisplitviewcontroller *) app.window.rootviewcontroller; } navcontroller = [currentsplitviewcontroller.viewcontrollers lastobject]; uibarbuttonitem *button = [[[[navcontroller childviewcontrollers] objectatindex:0] navigationitem ] leftbarbuttonitem]; [button.target performselector:@selector(togglemastervisible:)]; } -(ibaction)togglemastervisible:(id)sender{ }
i selector's name nsstringfromselector(button.action)
after changing performselector selector's name had warning because togglemastervisible: not declared (locally), turned off adding ibaction did never set button
use this:
nsstringfromselector(button.action)
ios selector uibarbuttonitem
No comments:
Post a Comment