2013-07-27 2 views
0

У меня проблема: как я могу это сделать, если я хочу получить значение NSTextField по номеру тега?Получить значение NSTextfield по номеру тега в Cocoa

Я создаю 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 по номеру тега? Благодаря

ответ

1

Скажем тег 7.

[contentView viewWithTag:7] 

Это возвращает тег, если подвид (в том числе и самого представления, contentView в данном случае) имеет этот тег или ноль, если ничего не найдено. Вы отвечаете за то, чтобы удостовериться, что теги уникальны. Для этого вы никогда не должны использовать 0 как значение тега, потому что 0 - значение по умолчанию [contentView viewWithTag:0] вернет contentView, если вы не установите его тег на что-то еще.

+0

Можете ли вы пример кода? Спасибо – NML611

+0

Спасибо большое, он работает – NML611