繁体   English   中英

通过可可中的标签号获取NSTextfield的值

[英]Get value of NSTextfield by tag number in Cocoa

我有一个问题:如果我想通过标签号获取NSTextField的值,该怎么办?

我动态创建NSTextField并通过以下代码为其设置标签:

for(int i=0; i<number;i++)
{
    NSTextField *ssid = [[NSTextField alloc] initWithFrame:NSMakeRect (10,label_Y,150,25)];
    [ssid setStringValue:[NSString stringWithFormat:@"SSID %d :",i +1]];
    [ssid setSelectable:NO];
    ssid.tag = i;
    [ssid setEditable:NO];
    [ssid setBordered:NO];
    [ssid setDrawsBackground:NO];
    [ssid setAutoresizingMask:NSViewWidthSizable];
    [contentView addSubview:ssid];
    label_Y -=30;
    [ssid release];

   NSTextField *ssid2 = [[NSTextField alloc] initWithFrame:NSMakeRect (10,label_Y,150,25)];
    [ssid2 setStringValue:[NSString stringWithFormat:@"SSID %d :",i +1]];
    [ssid2 setSelectable:NO];
    ssid2.tag = i;
    [ssid2 setEditable:NO];
    [ssid2 setBordered:NO];
    [ssid2 setDrawsBackground:NO];
    [ssid2 setAutoresizingMask:NSViewWidthSizable];
    [contentView addSubview:ssid2];
    label_Y -=30;
    [ssid2 release];

}

然后我想获取每个NSTextField的值,但是我不知道如何通过标签号获取NStextfield的值? 谢谢

假设标记为7。

[contentView viewWithTag:7]

如果子视图(包括视图本身,在这种情况下为contentView )具有此标签,则返回该标签;如果未找到,则返回nil。 您负责确保标签具有唯一性。 为此,永远不要使用0作为标记值,​​因为默认值为[contentView viewWithTag:0]会返回contentView除非您将其标记设置为其他值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM