Xcode は、特定の UITableViewController をインポートしていても、そのプロパティを見つけられないようで、クラスで正しく定義されているようです。
クリーン、派生データの削除、XCode の再起動、およびビルドを試みましたが、どれも機能しません。また、セッターを介してプロパティにアクセスしようとしました。
これは私のコードです:
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 #import
@interface DetailTableViewController : UITableViewController<UITableViewDelegate, UITableViewDataSource> {
NSInteger *productType;
}
@property (nonatomic) NSInteger *productType;
@end
DetailTableViewController.m
@implementation DetailTableViewController
@synthesize productType = _productType;
...
編集:エラーは次の行に入ります:
detailTableViewController.productType = tagIndex;
なぜこれが起こるのかについて誰かが考えを持っていますか? ありがとう!
更新しました:
XCode が私のファイルを参照する方法に関連しているように見えますが、本当に奇妙です:
cmd + detailTableViewController (インスタンスを作成する場所) をクリックすると、実際のコードが表示されます。
detailTableViewController *detailTableViewController = [segue destinationViewController];
しかし、インポート行を cmd + クリックすると、私のコードと同じ名前のインターフェイスが表示され、コードに含まれるプロパティがないことを除いて同じ宣言が表示されます。
#import "DetailTableViewController.h"
誰かが同じ問題を経験しましたか?