私はテーブルビューから作成したクラスから変数を取得しようとしています。基本的には、これを行うには、他のコントローラにどの行が選択されたかを伝えて、これが私がやろうとしたことです。目的他のクラスからのCアクセス変数?
表ビュークラスの.hファイルは:
@property(nonatomic) NSInteger itemId;
-(NSInteger)itemId;
私は、setメソッドを作成し、表ビュークラス の.mファイル内の変数になるだろう(私は、それを合成して、すべてのものをやりました私はちょうどあなたの方法)
-(NSInteger)itemId {
return self.itemId;
}
そして今、表のセルが選択される方法を...示すよ
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)
indexPath {
NSUInteger row = [indexPath row];
self.itemId = row;
//segue stuff (if you want me to include this just let me know)
}
ザッツそのクラスのすべてと、今私はセグエを経由して、いくつかのために
@property (nonatomic) NSInteger itemId;
ビューコントローラクラスの.m
#import "TableViewController.h"
//Skip a few things
@synthesize itemId;
//skip a few things
-(void)viewDidLoad {
TableViewController *tvc = [[TableViewController alloc] init];
itemId = [tvc itemId];
NSLog(@"%i", itemId);
を押されている ビューコントローラクラスの.hの値を必要とするクラスこれはうまくいかない理由... "didselectrow"メソッドの "itemId"を印刷すると正しい番号が返されますが、他のクラスで印刷しようとすると「0」が返されます ? 私のコードで見たいと思っていたことが残っている場合、私はそれを書いて喜んでいるでしょう:)私はちょうどコードを少し切り詰めて時間と空間を節約したいと思っていました。 ありがとうございます!
EDIT: 私は可能な解決策を見つけましたが、デリゲートを使用します。私はこれを行うためのよりよい方法が必要であると確信しています。もしあなたがアイディアを持っていれば、私に知らせてください。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)
テーブルビュークラスの 'itemId'ゲッターを呼び出すことはありますか?無限ループが発生することは間違いありません。 'return itemId'に変更する必要があります。 – yuji