質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

2回答

3968閲覧

NSIndexPathクラスについて

Blue0999

総合スコア148

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2016/04/22 00:31

NSIndexPathについてよく知らないのでこのクラス何をするのかいろいろ教えていただけると嬉しいです。

var ns = NSIndexPath(forRow: 0, inSection: 0)
サンプルコードで、このような初期化のコードを書き変数nsを他のメソッドの引数に使うというコードを見たのですが、このように変数nsにNSIndexPathのインスタンスを代入する際、引数のforRowには0を、inSectionにも0を指定しています。この結果、変数nsの中身は何が入っているのでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

#まず

素のNSIndexPathにはrowやsectionといったプロパティはありません。
TableViewで使われるsectionやrowはTableVIewで使い易いように拡張されたもので、1階層目がsection、2階層目がrowとなっています。UIKitをimportしていれば使えるので、iOSの開発時は基本的にどこでも使えます。

#例えば

1階層目を学年、2階層目をクラス、3階層目を出席番号とすると、

swift

1let indexTaro = [3, 2, 2] //3年2組2番 2let indexHanako = [1, 3, 35] //1年3組35番 3let indexPathTaro = NSIndexPath(indexes: indexTaro, length: indexTaro.count) 4let indexPathHanako = NSIndexPath(indexes: indexHanako, length: indexHanako.count) 5print("太郎くん", indexPathTaro) 6print("花子さん", indexPathHanako) 7 8//太郎くん <NSIndexPath: 0x1667a460> {length = 3, path = 3 - 2 - 2} 9//花子さん <NSIndexPath: 0x16664d80> {length = 3, path = 1 - 3 - 35}

という感じで、indexPathTaroとindexPathHanakoが、それぞれ太郎さんと花子さんを表すオブジェクトになります。

実際に使ったことが無くて今考えたものなので「だから?」と言われると困ってしまいますがw

投稿2016/04/22 05:44

fuzzball

総合スコア16731

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Blue0999

2016/04/22 11:42

ご回答ありがとうございます。身近な例だったので最初にイメージを掴む事ができました!
guest

0

ベストアンサー

こちらのサイトが説明的にわかりやすいかと思います。
※Obj-cですが、、、

[XCODE] NSIndexPathとは?作り方や使い方も

このクラス何をするのかいろいろ教えていただけると嬉しいです。

UITableViewのを生成する時に度々登場します。「section」と「row」によって表示するもの等判別したりします。

この結果、変数nsの中身は何が入っているのでしょうか?

そのままですが rowの値が0、sectionの値が0のNSIndexPathオブジェクトになります。

UITableViewの例

image

投稿2016/04/22 03:34

編集2016/04/22 03:42
_Kentarou

総合スコア8490

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Blue0999

2016/04/22 11:43

ご回答ありがとうございます。rowとsectionの意味がわかりました。 sectionはrowの中での番号という事なのですね。
fuzzball

2016/04/22 13:41

逆ですね。rowがsectionの中での番号です。
Blue0999

2016/04/23 04:55

そうでした笑
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問