0

AUITableViewは aUILabelをその として使用しますAccessory View

次のコードを使用すると、テキストを取得できますUILabelが、テキストだけにアクセスする方法がわかりません。

NSLog(@"text label: %@",[[self.frequencyTableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]] accessoryView]);

ログ:

2014-04-15 12:50:16.433 SmartWatch[2771:70b] text label: <UILabel: 0xfb81870; frame = (205 4; 60 20); text = '12:50 PM'; clipsToBounds = YES; userInteractionEnabled = NO; layer = <CALayer: 0xfb619d0>>

テキストだけを取得したい ('12:50 PM').Thanks!

4

2 に答える 2

1
NSLog(@"text label: %@",((UILabel*)[[self.frequencyTableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]] accessoryView]).text);

ただし、これは実際には安全ではありません。モデルに直接アクセスする方がよいと思います。アクセサリ ビューを設定するときは、次のようにする必要があります。

UILabel *label = [[UILabel alloc] init];
label.text = [someArray objectAtIndex:indexPath.row];
cell.accessoryView = label;

テキストが必要な場合は、配列から直接取得するだけです

NSLog(@"text label: %@",[someArray objectAtIndex:0]);
于 2014-04-15T07:35:06.200 に答える
0

これを試して

NSLog(@"text label: %@",((UILabel*)[[self.frequencyTableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]] accessoryView]).text);
于 2014-04-15T07:47:00.277 に答える