0

我的设计有一个从几个不同视图调用的“关键”视图。

使用 Xcode Storyboard 如何在用户需要时“推送”键视图然后将其“弹出”以便用户返回正确的视图?

看来按钮只能链接一个返回点?

谢谢吉姆

4

2 回答 2

1

Jim,您的 Recipe 类应该对其委托具有弱引用,以避免在委托及其所有者相互持有引用的保留周期中的潜在问题,从而防止正确释放任何一方。

在 ARC 之前,委托通常是(分配)属性。我不相信 ARC 会以任何方式改变这一点,除了将分配更改为弱。

于 2012-08-22T17:15:16.923 回答
1

谢谢,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:)];
}
于 2011-12-05T15:25:29.513 回答