开发中,经常遇到以下情况。
A push B
b执行特定事件后,必须回调或通知a特定事件的执行。
这种情况下大多使用Block回调来实现。
本文介绍使用perform selector 3360 with object :进行回调。
直接代码:
接收回调页面代码
//接收回调页面--(void ) tableview:(uitableview* ) tableviewdidselectrowatindexpath : (ns indexpath * ) indexpath STValueBackViewController是目标页面stvaluebackviewcontroller * callback VC=[ stvaluebackviewcontrolleralloc ]; //此处需要注意:如果回调携带参数,则添加冒号。 //sel是方法名称//self是接受回调的实例//callBackParam是目标页面所需的参数callback VC.callback param=@ { @ ' sel ' : @ ' nslogcallbackmessage 3360 [ self.navigation ] ckVCanimated:yes] (/**接受回调处理的@param param参数((/- ) void ) nslogcallbackmessage: ) nsstring ) param }目标页面的代码
-IBaction(callbackevent: ) id (sender ) if ) self.callbackparam )//获取方法名称ns string * sel=[ self.calllback param 将if(selinstance(//方法名称转换为方法sel seletor=nsselectorfromstring ) ) sel; //接受回调的实例变量包含此方法if (instancerespondstoselector : seletor )//执行方法(instanceperformselector 3360 seletor