2011-01-01 20 views
47

nsindexpathをNsIntegerまたは単にintに変換する必要があります。 例えば:NSInextxpathをNSIntegerまたは単にintに変換するにはどうすればよいですか?

int rowIndex = [mGoogleBaseTable selectedRow]; 
//mGoogleBaseTable is a NSTable type in Macdevelopement.. 

& &

int rowIndex = [mGoogleBaseTable indexPathForSelectedRow]; 
//mGoogleBaseTable is a UITableView type in Iphone (iOS)Development. 

selectedRowは、単にNSIntegerを返しますがindexPathForSelectedRowがNSIndexPathを返します。..

どのように私はこれを達成することができ、私を助けてください。

答えて

124

場合は、すべてのその

NSInteger row = p.row; 
NSInteger section = p.section; 

NSIndexPath *p = ... // some indexpath 

+0

ありがとう..その作品。 – Tarun

+0

ありがとうございました。完全な仕事はありますが、わかりません。 – AnilPatel

+0

@AnilMetataggセクションは、複数のセクションがある場合にのみ関連します。 – mvds

6

私はたぶん、これはあなたの迅速で

NSInteger variable = indexPath.row; 
+2

その場合は、読みやすくするために 'NSNumber * selrow = @(indexPath.row);'を使いやすくしてください。 – mvds

13

をやって好む:

  1. は、あなたのVARにあなたのコレクションビューを関連付けます

    @IBOutlet弱いvarコレクションビュー:UICollectionView!

  2. prepareForSegue FUNCでは、あなたが呼び出すことができます。

    するvar indexPath = collectionView.indexPathsForSelectedItems()

+0

はシンプルで効果的です。クール。ありがとう+1。 – Isuru

+0

もyourTextField.tag = indexPath.rowのように使用して、カスタムセル内の条件を追跡して作成することができます。たとえば、可変配列内のデータを更新する場合などです。 – whyoz

-1

助けることができ、このようにそれ

NSNumber *selRow = [[NSNumber alloc] initWithInteger:indexPath.row]; 
7

スウィフトで:

let section: Int = indexPath.section 
    let row: Int = indexPath.row 
1

は単にによってint型に変換、

NSIndexPath * path = ... //いくつかのインデックスパス

int row =(int)path.row;

関連する問題