相关疑难解决方法(0)

在视图控制器之间传递数据

我是iOS和Objective-C以及整个MVC范例的新手,我坚持以下内容:

我有一个视图作为数据输入表单,我想让用户选择多个产品.产品列在另一个带有a的视图中,UITableViewController我启用了多个选择.

我的问题是,如何将数据从一个视图传输到另一个视图?我将UITableView在数组中保留选择,但是如何将其传递回上一个数据输入表单视图,以便在提交表单时将其与其他数据一起保存到Core Data?

我已经四处浏览并看到一些人在app delegate中声明了一个数组.我读了一些关于单身人士的事情,但不明白这些是什么,我读了一些关于创建数据模型的内容.

执行此操作的正确方法是什么?我将如何进行此操作?

model-view-controller objective-c uiviewcontroller ios swift

1340
推荐指数
34
解决办法
44万
查看次数

找不到协议声明

我有两个对象,都是视图控制器.第一个(我称之为viewController1)声明了一个协议.第二个(不出所料我将命名viewController2)符合这个协议.

XCode给我一个构建错误:'找不到viewController1的协议声明'

我已经看到关于这个主题的各种问题,我确信这是一个循环错误,但我只是在我的情况下看不到它...

代码如下..

viewController1.h

@protocol viewController1Delegate;

#import "viewController2.h"

@interface viewController1 {

}

@end

@protocol viewController1Delegate <NSObject>

// Some methods

@end
Run Code Online (Sandbox Code Playgroud)

viewController2.h

#import "viewController1.h"

@interface viewController2 <viewController1Delegate> {

}

@end
Run Code Online (Sandbox Code Playgroud)

最初,我在viewController1中的导入行高于协议声明的导入行.这阻碍了项目的建设.在SO上搜索之后,我意识到了这个问题,然后切换了两条线.我现在收到警告(而不是错误).该项目建设良好,实际上运行完美.但我仍然认为发出警告肯定有问题.

现在,据我所知,当编译器到达viewController1.h时,它首先看到的是协议的声明.然后它导入viewController.h文件并看到它实现了这个协议.

如果它反过来编译它们,它将首先查看viewController2.h,它首先要做的是导入viewController1.h,其第一行是协议声明.

我错过了什么吗?

iphone delegates protocols objective-c ios

26
推荐指数
1
解决办法
4万
查看次数

在Xcode中找不到协议声明

我正在构建我的应用程序时,我今天经历了一些事情.我在MyObject1中声明了一个协议,并在其上添加了委托属性.我已将MyObject2指定为MyObject1的委托.我像往常一样以这种方式添加它

@interface MyObject2 : UIViewController <DelegateOfObject1>

但Xcode表示无法找到我的协议声明.我检查了我的代码,但我已经宣布了这个协议.我尝试将MyObject2指定为其他Object的委托.我像这样编辑我的代码

@interface MyObject2 : UIViewController <UITableViewDelegate,DelegateOfObject1>

但Xcode再次说它无法找到DelegateOfObject1的协议声明.我试图删除我的代码上的DelegateOfObject1并添加指定MyObject作为其他对象的委托,它就像这样.

@interface MyObject2 : UIViewController <UITableViewDelegate,UITabBarDelegate>

没有发现任何错误.然后我再次尝试在代码中再次添加DelegateOfObject1

@interface MyObject2 : UIViewController <UITableViewDelegate,UITabBarDelegate,DelegateOfObject1>

那时Xcode没有在我的代码上发现任何错误.所以我再次尝试在我的代码上删除UITableViewDelegate和UITabBarDelegate.

@interface MyObject2 : UIViewController <DelegateOfObject1>

那时没有发现错误,但那是我之前写过的相同代码.在我的代码中,这些东西应该是什么原因?

谢谢...

xcode objective-c

21
推荐指数
2
解决办法
3万
查看次数