Tuesday, 15 January 2013

ios - How to know UIBarButtonItem selector's name -



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