テーブル改造のつづきやけど、、、
みなさんすいません。。。
大事な作業を忘れておりました。
セルの操作の前に、データの一つ一つに電話番号を表示しようと思っていたのを
わすれていたんです。
じゃぁやっていきますよ。
まず、ファイルを追加します。
まず、いつものように「ファイルの追加」を選んで、、


名前はCustomizedCellModel.m
として.hも同時に追加するのをお忘れなく。
で次もファイルを追加するんですが、下の図の様に、「UITableView」を選択しましょう。
ファイル名はCustomizedCell.mとしてます。

ファイル追加の結果下の様になります。
下の4つが追加したやつです。

ではコードをいじっていきます。
PersonalData.hで、赤いとこが追加したところです。
電話番号に対応するメンバ変数の宣言と、プロパティの宣言です。
#import < Foundation/Foundation.h>
@interface PersonalData : NSObject {
NSString *name;
NSString *phone;
}
@property (nonatomic, retain) NSString *name;
@property (nonatomic, retain) NSString *phone;
@end
次、
PersonalData.mです。でもこれは、一部ですよ。
さっき宣言したプロパティの実装ディレクティブを追加してます。
@implementation PersonalData
@synthesize name;
@synthesize phone;
@end
PersonalDataManager.m(一部)
ここでは、電話番号を追加したことにあわせて修正します。
// names
NSArray *names = [NSArray arrayWithObjects:
@"愛 飢え夫",
@"下記 句け子",
@"指し 周世僧",
@"達 津手斗",
@"何 抜寝乃",
@"葉比 負へ帆",
@"真美 無眼藻",
@"揶 由余",
@"等裏 流列路",
@"輪 ヲん",
nil];
// phones
NSArray *phones = [NSArray arrayWithObjects:
@"011-22-3333", @"011-111-1111", @"093-333-3333", @"014-444-4444",
@"01-7777-7777", @"099-999-9999", @"08-8888-8888", @"09-5555-5555",
@"017-777-9999", @"01-2222-2222",
nil];
NSMutableArray *tempDataList
= [[NSMutableArray alloc] initWithCapacity:[names count]];
for (int i = 0; i < [names count]; i++) {
PersonalData *personalData = [[[PersonalData alloc] init] autorelease];
personalData.name = [names objectAtIndex:i];
personalData.phone = [phones objectAtIndex:i];
[tempDataList addObject:personalData];
}
return tempDataList;
CustomizedCellModel.h
名前、電話番号の表示/非表示判別に対応したメンバ変数を宣言して各メンバ変数のプロパティ宣言をしまてます。
んで、最後に個人情報データを引数とする初期化メソッドを宣言してます。
#import < Foundation/Foundation.h>
#import "PersonalData.h"
@interface CustomizedCellModel : NSObject {
NSString *name;
NSString *phone;
BOOL hasDisclosure;
}
@property (nonatomic, retain, readonly) NSString *name;
@property (nonatomic, retain, readonly) NSString *phone;
@property (nonatomic, readonly) BOOL hasDisclosure;
- (id)initWithPersonalData:(PersonalData *)data hasDisclosure:(BOOL)newDisclosure;
@end
CustomizedCellModel.m
んで、先ほど宣言したプロパティの実装ディレクティブを追記して、
先ほど宣言した初期化メソッドを実装してます。
#import "CustomizedCellModel.h"
@implementation CustomizedCellModel
@synthesize name;
@synthesize phone;
@synthesize hasDisclosure;
- (id)initWithPersonalData:(PersonalData *)data hasDisclosure:(BOOL)newDisclosure {
if (data == nil) {
return nil;
}
if ((self = [super init]) == nil) {
return nil;
}
name = [[data name] copy];
phone = [[data phone] copy];
hasDisclosure = newDisclosure;
return self;
}
@end
ここまで、なんとかできましたでしょうか?
いざ実行!
エラーはない!
でも画面になんの変化もない!!!
ごめん。次に期待してくださいな。
> 次のテーマ テーブルをつくっていこう。
> テーブルのデータを管理するクラスを作ってみる
> テーブルビューのコントローラーを作ってみる。
> ついにテーブルの表示完成!
> テーブルをいじくる。
> テーブルを本当にいじくる
> テーブルを本当に実装を始めるよ。
> テーブルを改造しましょ。
> テーブル改造のつづきやけど。。(★この記事★事)
> テーブルのセルに電話番号を追加してみる。
> モード切り替え用ボタンの追加
> セル(データ)の削除処理と並び替え!
> テーブルいじくりも大詰め?
みなさんすいません。。。
大事な作業を忘れておりました。
セルの操作の前に、データの一つ一つに電話番号を表示しようと思っていたのを
わすれていたんです。
じゃぁやっていきますよ。
まず、ファイルを追加します。
まず、いつものように「ファイルの追加」を選んで、、


名前はCustomizedCellModel.m
として.hも同時に追加するのをお忘れなく。
で次もファイルを追加するんですが、下の図の様に、「UITableView」を選択しましょう。
ファイル名はCustomizedCell.mとしてます。

ファイル追加の結果下の様になります。
下の4つが追加したやつです。

ではコードをいじっていきます。
PersonalData.hで、赤いとこが追加したところです。
電話番号に対応するメンバ変数の宣言と、プロパティの宣言です。
#import < Foundation/Foundation.h>
@interface PersonalData : NSObject {
NSString *name;
NSString *phone;
}
@property (nonatomic, retain) NSString *name;
@property (nonatomic, retain) NSString *phone;
@end
次、
PersonalData.mです。でもこれは、一部ですよ。
さっき宣言したプロパティの実装ディレクティブを追加してます。
@implementation PersonalData
@synthesize name;
@synthesize phone;
@end
PersonalDataManager.m(一部)
ここでは、電話番号を追加したことにあわせて修正します。
// names
NSArray *names = [NSArray arrayWithObjects:
@"愛 飢え夫",
@"下記 句け子",
@"指し 周世僧",
@"達 津手斗",
@"何 抜寝乃",
@"葉比 負へ帆",
@"真美 無眼藻",
@"揶 由余",
@"等裏 流列路",
@"輪 ヲん",
nil];
// phones
NSArray *phones = [NSArray arrayWithObjects:
@"011-22-3333", @"011-111-1111", @"093-333-3333", @"014-444-4444",
@"01-7777-7777", @"099-999-9999", @"08-8888-8888", @"09-5555-5555",
@"017-777-9999", @"01-2222-2222",
nil];
NSMutableArray *tempDataList
= [[NSMutableArray alloc] initWithCapacity:[names count]];
for (int i = 0; i < [names count]; i++) {
PersonalData *personalData = [[[PersonalData alloc] init] autorelease];
personalData.name = [names objectAtIndex:i];
personalData.phone = [phones objectAtIndex:i];
[tempDataList addObject:personalData];
}
return tempDataList;
CustomizedCellModel.h
名前、電話番号の表示/非表示判別に対応したメンバ変数を宣言して各メンバ変数のプロパティ宣言をしまてます。
んで、最後に個人情報データを引数とする初期化メソッドを宣言してます。
#import < Foundation/Foundation.h>
#import "PersonalData.h"
@interface CustomizedCellModel : NSObject {
NSString *name;
NSString *phone;
BOOL hasDisclosure;
}
@property (nonatomic, retain, readonly) NSString *name;
@property (nonatomic, retain, readonly) NSString *phone;
@property (nonatomic, readonly) BOOL hasDisclosure;
- (id)initWithPersonalData:(PersonalData *)data hasDisclosure:(BOOL)newDisclosure;
@end
CustomizedCellModel.m
んで、先ほど宣言したプロパティの実装ディレクティブを追記して、
先ほど宣言した初期化メソッドを実装してます。
#import "CustomizedCellModel.h"
@implementation CustomizedCellModel
@synthesize name;
@synthesize phone;
@synthesize hasDisclosure;
- (id)initWithPersonalData:(PersonalData *)data hasDisclosure:(BOOL)newDisclosure {
if (data == nil) {
return nil;
}
if ((self = [super init]) == nil) {
return nil;
}
name = [[data name] copy];
phone = [[data phone] copy];
hasDisclosure = newDisclosure;
return self;
}
@end
ここまで、なんとかできましたでしょうか?
いざ実行!
エラーはない!
でも画面になんの変化もない!!!
ごめん。次に期待してくださいな。
> 次のテーマ テーブルをつくっていこう。
> テーブルのデータを管理するクラスを作ってみる
> テーブルビューのコントローラーを作ってみる。
> ついにテーブルの表示完成!
> テーブルをいじくる。
> テーブルを本当にいじくる
> テーブルを本当に実装を始めるよ。
> テーブルを改造しましょ。
> テーブル改造のつづきやけど。。(★この記事★事)
> テーブルのセルに電話番号を追加してみる。
> モード切り替え用ボタンの追加
> セル(データ)の削除処理と並び替え!
> テーブルいじくりも大詰め?