我的设计有一个从几个不同视图调用的“关键”视图。
使用 Xcode Storyboard 如何在用户需要时“推送”键视图然后将其“弹出”以便用户返回正确的视图?
看来按钮只能链接一个返回点?
谢谢吉姆
我的设计有一个从几个不同视图调用的“关键”视图。
使用 Xcode Storyboard 如何在用户需要时“推送”键视图然后将其“弹出”以便用户返回正确的视图?
看来按钮只能链接一个返回点?
谢谢吉姆
Jim,您的 Recipe 类应该对其委托具有弱引用,以避免在委托及其所有者相互持有引用的保留周期中的潜在问题,从而防止正确释放任何一方。
在 ARC 之前,委托通常是(分配)属性。我不相信 ARC 会以任何方式改变这一点,除了将分配更改为弱。
谢谢,chown - 你是对的。
解决方案是创建一个 UIViewController 子类,然后使用委托协议
委托类.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
委托类.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:)];
}