テーブルビューがあります。たぶん、のセルではUITableViewCellStyle1
、それは問題ではありません。
また、以下の簡単な例として、表示するアイテムのリストがあります。
Gender — Male
Age — 18
Height — 175 cm
異なるデータセットの場合も同様です。Human
たぶん、プロパティGenderType gender
、、、NSInteger age
を持つクラスfloat height
。そして、私はそれを上記のように表現したいと思います。また、このアプローチは柔軟である必要があります。これらの値を自分のやり方ですばやく明確に並べ替えたいと思います。CoreDataを使用せずに。
最初の迅速な解決策は、2つの辞書を作成し、DBのようにそれらをリンクすることです。
NSDictionary *keys = @{@0 : @"Gender", @1 : @"Age", @2 : @"Height"};
NSDictionary *values = @{@0 : @"Male", @1 : @18, @2 : @"175 cm"};
NSArray *source = @[@0, @1, @2]; // My order
これでPair
、次のようなプロパティを持つクラスを使用するようになりました。
@property(nonatomic, strong) NSString *key;
@property(nonatomic, strong) id value;
-(id)initWithKey:(NSString *)key value:(id)value;
今のコードは次のようになります
Pair *genderPair = [[Pair alloc] initWithKey:@"Gender" value:@"Male"];
Pair *agePair = [[Pair alloc] initWithKey:@"Age" value:@18];
Pair *heightPair = [[Pair alloc] initWithKey:@"Height" value:@175];
NSArray *tableItems = [genderPair, agePair, heightPair];
より明確に見えますが...これは最善の解決策ではないと思います(クラスペアはありませんが、スイッチなどを使用してテーブルのような設定を行いますが、どういうわけかそれを行います)。私は、これを行おうとしている多くの人々が、少なくともより良いまたは一般的な解決策があるはずだと信じています。