Xcode 似乎没有找到给定 UITableViewController 的属性,即使我正在导入它并且它们似乎在类上正确定义。
我尝试清理、删除派生数据、重新启动 XCode 并再次构建,但这些都不起作用。
还尝试通过 setter 访问该属性。
这是我的代码:
MasterViewController.m
#import "DetailTableViewController.h"
...
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([[segue identifier] isEqualToString:@"nextScreen"]) {
DetailTableViewController *detailTableViewController = [segue destinationViewController];
NSInteger tagIndex = [(UIButton *)sender tag];
detailTableViewController.productType = tagIndex;
/*[detailTableViewController setProductType:tagIndex];*/ //This does not work either.
} else if ([[segue identifier] isEqualToString:@"anotherSegue"]){
MyLoginViewController *loginViewController = [segue destinationViewController];
loginViewController.delegate = self; //Funnily enough, this one works
}
}
DetailTableViewController.h
#进口
@interface DetailTableViewController : UITableViewController<UITableViewDelegate, UITableViewDataSource> {
NSInteger *productType;
}
@property (nonatomic) NSInteger *productType;
@end
DetailTableViewController.m
@implementation DetailTableViewController
@synthesize productType = _productType;
...
编辑:错误出现在这一行:
detailTableViewController.productType = tagIndex;
有谁知道为什么会发生这种情况?
谢谢!
更新:
看起来这与 XCode 如何引用我的文件有关,这真的很奇怪:
detailTableViewController *detailTableViewController = [segue destinationViewController];
#import "DetailTableViewController.h"
有没有人经历过同样的问题?
最佳答案
解决了!
所以基本上,我可以发现 Finder 中的文件有两个副本,一个在我项目的根文件夹中,另一个在源文件夹中。
无法理解为什么会发生这种情况,或者我是否无意复制了文件,但现在它可以正常工作了。
感谢大家的回答!
关于ios - "property not found on object of type"prepareForSegue 中的错误尝试将参数发送到下一个 TableView Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12919195/