我遵循了“立即开始开发iOS应用程序”教程。

该应用程序总体上已经按照我的预期构建。但是,以下代码块无效。

o将按钮链接到unwindToList:操作

1)在项目导航器中,选择Main.storyboard。

2)在画布上,按住Control键从``取消''按钮拖动到``添加到待办事项''场景停靠点中的``退出''项上,如果在场景停靠栏中没有看到``退出''项,而是查看场景的描述,请在画布上单击“放大图像:../ Art / zoom_in_2x.png”按钮,直到看到它为止。在拖动结束的位置出现一个菜单。

3)从快捷菜单中选择unwindToList:这是您刚刚添加到XYZToDoListViewController.m文件中的操作。这意味着,当点击“取消”按钮时,segue将展开并调用此方法。

4)在画布上,按住Control键从“完成”按钮拖动到XYZAddToDoItemViewController场景停靠栏中的“退出”项目。

5)从快捷菜单中选择unwindToList:

教程上的所有其他指示均起作用。生成编译没有错误。当应用程序在模拟器中运行时,用户单击“完成”或“取消”,但是焦点不会移回到ToDoList场景。它只是停留在“添加项目”屏幕上。

关于正在发生的事情的任何想法。
iOS 7.1

一些进一步的细节

这是TodoController.m,带有unwindToList

 -(IBAction)unwindToList:(UIStoryboardSegue *)segue
{
ianNo00004AddToDoItemViewController *source = [segue sourceViewController];
ianNo00004ToDoItem *item = source.toDoItem;

if (item != nil) {
    [self.toDoItems addObject:item];
    [self.tableView reloadData];
}

}

**This is the ToDoListController.h**

@interface ianNo00004ToDoListViewController : UITableViewController

-(IBAction)unwindToList:(UIStoryboardSegue *)segue;

@end

AddToItemViewController.m代码
#import“ianNo00004AddToDoItemViewController.h”
@interface ianNo00004AddToDoItemViewController ()


@property (weak, nonatomic) IBOutlet UITextField *textField;
@property (weak, nonatomic) IBOutlet UIBarButtonItem *doneButton;


@end

@implementation ianNo00004AddToDoItemViewController

- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if (sender != self.doneButton) return;
if (self.textField.text.length > 0)
{
    self.toDoItem = [[ianNo00004ToDoItem alloc] init];
    self.toDoItem.itemName = self.textField.text;
    self.toDoItem.completed = NO;
}

}

最佳答案

您应该在 XYZToDoListListTableViewController.h 中添加方法 unwindToList

(不是ItemViewController,而是TableViewController)

@interface XYZToDoListTableViewController : UITableViewController
    -(IBAction)unwindToList:(UIStoryboardSegue *)segue;
@end

然后在XYZToDoListTableViewController.m中添加以下代码
- (IBAction)unwindToList:(UIStoryboardSegue *)segue
{

}

您使用的教程可能是旧版本,可能存在一些错误。
请在此处遵循最新版本:
https://developer.apple.com/library/ios/referencelibrary/GettingStarted/RoadMapiOS/SecondTutorial.html#//apple_ref/doc/uid/TP40011343-CH8-SW7

10-08 08:59