我的设计有一个“关键”视图,可以从几个不同的视图中调用。
使用Xcode Storyboard如何在用户需要时“推”键视图,然后“弹出”它以便用户返回正确的视图?
按钮只能链接到一个返回点?
由于 吉姆
答案 0 :(得分:1)
谢谢,chown - 你是对的。
解决方案是创建一个UIViewController子类,然后使用委托协议
DelegateClass.h
#import <UIKit/UIKit.h>
@protocol ReturnToMainMenu <NSObject>
@required
- (void) processSuccessful: (BOOL)success;
@end
@interface Recipe : UIViewController {
id <ReturnToMainMenu> delegate;
}
@property (strong) id delegate;
-(IBAction)done:(id)sender;
@end
Delegateclass.m
-(IBAction)backToMainMenu:(id)sender {
[[self delegate] processSuccessful:YES];
}
然后在调用类
中声明协议@interface FoodGroup : UIViewController <ReturnToMainMenu>
- (void) processSuccessful:(BOOL)success
{
NSLog(@"Process completed");
[self dismissViewControllerAnimated:YES completion:nil];
//[self performSelector:@selector(done:)];
}
答案 1 :(得分:1)
Jim,你的Recipe类应该对其委托有一个弱引用,以避免代理及其所有者相互引用的保留周期的潜在问题,从而阻止正确的释放。
预ARC,代表通常是(分配)属性。我不相信ARC会以任何方式改变这一点,除了将赋值更改为弱。