ViewController在
PopViewController拿值。注意设置代理(委托)?就像,我没有委拖你替我办事,你去银行,或者去政府替我办事,人家当然不会处理你
(1)
PopViewController.h
#import
<UIKit/UIKit.h>
// 定义协议
@protocol popNextDeleage < NSObject ]]]]>
-( void )passPopReport:( NSString *)string;
@end
@interface PopViewController : UIViewController
@property ( nonatomic , retain ) NSObject < popNextDeleage >*popDeleage; // 声明一个代理
- ( IBAction )reportAction:( UIButton *)sender;
@end
// 定义协议
@protocol popNextDeleage < NSObject ]]]]>
-( void )passPopReport:( NSString *)string;
@end
@interface PopViewController : UIViewController
@property ( nonatomic , retain ) NSObject < popNextDeleage >*popDeleage; // 声明一个代理
- ( IBAction )reportAction:( UIButton *)sender;
@end
(2)
PopViewController.m
- (
IBAction
)reportAction:(
UIButton
*)sender {
[ self . popDeleage passPopReport : @" 赋值 " ]; // 赋值
}
[ self . popDeleage passPopReport : @" 赋值 " ]; // 赋值
}
(3)
ViewController.h遵守协议
popNextDeleage
@interface
ViewController :
UIViewController
<
popNextDeleage
>{
UIView *moreView;
}
UIView *moreView;
}
(4)
ShowViewController.m
//
实现协议(拿到值)
-( void )passPopReport:( NSString *)string{
if ([string isEqualToString : @" 赋值 " ]) {
ReViewController *re = [[ ReViewController alloc ] init ];
[ self . navigationController pushViewController :re animated : YES ];
}
}
-( void )passPopReport:( NSString *)string{
if ([string isEqualToString : @" 赋值 " ]) {
ReViewController *re = [[ ReViewController alloc ] init ];
[ self . navigationController pushViewController :re animated : YES ];
}
}
(5)
ViewController.m设置deleage
-(
void
)pop:(
id
)sender{
PopViewController *pop = [[ PopViewController alloc ] init ];
pop. popDeleage = self ; // 设置 deleage (谁实现了 delegate 方法就指定给谁)
FPPopoverController *basePop = [[ FPPopoverController alloc ] initWithViewController :pop];
basePop. tint = FPPopoverLightGrayTint ;
basePop. arrowDirection = FPPopoverArrowDirectionAny ;
[basePop presentPopoverFromView :sender];
}
PopViewController *pop = [[ PopViewController alloc ] init ];
pop. popDeleage = self ; // 设置 deleage (谁实现了 delegate 方法就指定给谁)
FPPopoverController *basePop = [[ FPPopoverController alloc ] initWithViewController :pop];
basePop. tint = FPPopoverLightGrayTint ;
basePop. arrowDirection = FPPopoverArrowDirectionAny ;
[basePop presentPopoverFromView :sender];
}