2011-07-25 5 views
2

私はUISegmentedControlオブジェクトを持つカスタムUITableViewCellを持っています。私のUITableView(アンケートフォーム)にはこのカスタムセルが6つあります(6つのセグメント化されたコントロール)。私はセグメントコントロールのselectedSegmentIndexを取得することに問題があります。私の推測では、テーブルが生成された後にセルが解放されているということです。カスタムからの値を取得するUITableViewCell

MyCustomCell *q1 = (MyCustomCell *)[tableView cellForRowAtIndexPath:[NSIndexPath indexPathWithIndex:0]]; 

int segmentIndex = (int) q1.segmentedController.selectedSegmentIndex; 

int segmentIndexは、常に関係なく、選択したインデックスが何であるか0の同じ値を与えていない:私は、次のコードを使用して値を取得しています。

答えて

4

あなたはそうでないrowsectionプロパティが正しく設定されません、とあなたは同じセルを毎回取得します、あなたが使用したいセクションと行のためにあなたのインデックスパスを初期化するために右の方法を使用する必要があります。
+(NSIndexPath *)indexPathForRow:(NSUInteger)row inSection:(NSUInteger)section;を。あなたも相談でき

// getting the cell at third row of first section 
NSIndexPath *ip = [NSIndexPath indexPathForRow:2 inSection:0]; 
MyCustomCell *q1 = (MyCustomCell *)[tableView cellForRowAtIndexPath:ip]; 
int segmentIndex = (int) q1.segmentedController.selectedSegmentIndex; 

NSIndexPath UIKit Additions Referenceの詳細については、のような

コードが見えます。

+0

最初に 'indexPathForRow:inSection'を使用しましたが、何らかの理由で動作しませんでした。 – KDaker

関連する問題