2011-03-09 13 views
34

コアデータからデータ(文字列)を読み込もうとしていて、その行の値が " - "の場合、アクセサリーの情報が表示され、SelectionStyleNoneが非表示になります。UITableViewCellアクセサリーの表示を隠す/表示する

私はこれを試してみましたが、ない

if (entity.value == @"--"){ 
    cell.selectionStyle = UITableViewCellSelectionStyleNone; 
    cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; 
} 

それとも

NSString *this = entity.value; 
if (this == @"--") { 
    cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; 
    cell.selectionStyle = UITableViewCellSelectionStyleNone; 
} 

成功作業...しかし、これはしかし可能ではありませんどちら?おかげ

答えて

18

は、私はこの問題は比較式であることを考えます。正しい方法:

if ([entity.value isEqualToString:@"--"]) 

または

if ([this isEqualToString:@"--"]) 
+3

... ==ポインタを比較するので –

+0

は完璧に動作します、ありがとうございます=) –

1

私はおそらく使用します。

if ([userEventStatus.status.stringValue isEqual:@"--"]) 

それは微妙な変更のように見えるが、のisEqualを使用しての代わりに、isEqualToString手段かもしれませんあなたはそれを通過するデータの種類(intValue、に従ってFloatValue、CGPointValue)を変更した場合、あなたのコードがより堅牢である場合に。代わりに、関数全体を書き換えることであなただけの入力された変数を変更することができます。

このタイプのメソッドは、アプリのさまざまな部分に簡単にコピーすることもできますし、状況によっては値が変わることもあります。

関連する問題