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

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

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

Objective-Cはオブジェクト指向型のプログラミング言語のひとつです。C言語をベースにSmalltalkが取り入れられています。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Swift

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

Q&A

2回答

817閲覧

iOS テーブルセルを使い回す方法について

yoppy0066

総合スコア293

Objective-C

Objective-Cはオブジェクト指向型のプログラミング言語のひとつです。C言語をベースにSmalltalkが取り入れられています。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Swift

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

0グッド

0クリップ

投稿2018/10/19 00:49

編集2018/10/19 02:11

1つのテーブルセルクラスがあります。

このセルはuserオブジェクトを受け取ってnameとiconを表示します。

ここで全く同じレイアウトでarticleオブジェクト受け取ってtitleとimageを表示したいとします。

この場合、レイアウトが同じなのでセルクラスを使い回したいのですが何かいい方法はないでしょうか?

※追記
呼び出し側

tableViewCell.setData(user);

呼び出し側2

tableViewCell.setData(article);

セル

func setData(user: User) { self.label.text = User.name ・・・ }

このように実装していて、Userの部分をArticleにも対応させることはできるのか

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

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

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

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

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

fuzzball

2018/10/19 01:10

普通に使い回せばいいと思いますが、何が分からないのでしょうか?あと、以前の質問でも指摘しましたが、関係のないタグは付けないようにして下さい。(必要であればかまいませんが)
yoppy0066

2018/10/19 02:11

レベルの低い質問で申し訳ありません。追記させていただきました。
guest

回答2

0

Articleを引数に取るデータセット用の関数を作れば出来ます。

func setData(article: Article) {
self.label.text = article.name
・・・
}

投稿2018/10/19 05:05

soo

総合スコア80

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

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

0

#1

簡単な方法として、オブジェクトごと渡すのではなく、テキストと画像を渡すようにしてみては?

swift

1func setData(text: String, image: UIImage) { 2 : 3}

#2

簡単じゃない(というほどでもない)方法として、共通部分(setData()に渡すパラメータ)だけのベースクラスを作ってUserとArticleに継承させるか、共通部分を別クラスにするか。

投稿2018/10/19 02:16

編集2018/10/19 02:34
fuzzball

総合スコア16731

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

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

yoppy0066

2018/10/19 02:27

ありがとうございます。実際では渡す項目が多いので別の方法も検討しています
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問