Pergunta

Eu sei que você pode adicionar todas as teclas a uma matriz e adicioná -la a um lado do dicionário, mas estou curioso para saber como você pode adicionar ou inserir um valor em um determinado ponto do dicionário. Do jeito que eu tenho agora, acredito que continua substituindo as últimas entradas para abrir espaço para o novo:

NSMutableDictionary *bookmarks = [[NSMutableDictionary alloc] init];
NSString *keyA = @"Stanford University";
NSString *keyB = @"Apple";
NSString *keyC = @"cs193p.com";
NSString *keyD = @"Stanford on iTunes";
NSString *keyE = @"Stanford Mail";
NSString *surlA = @"http://www.stanford.edu";
NSString *surlB = @"http://www.apple.com";
NSString *surlC = @"http://www.cs193p.stanford.edu";
NSString *surlD = @"http://www.itunes.stanford.edu";
NSString *surlE = @"http://www.stanfordshop.com";

NSURL  *urlA;
urlA = [NSURL URLWithString:surlA]; 
NSURL  *urlB;
urlA = [NSURL URLWithString:@"http://www.apple.com"]; 


[bookmarks setValue:urlA forKey: keyA];
[bookmarks setObject:urlB forKey: keyB];
//[bookmarks setObject:urlC forKey: keyC];
//[bookmarks setObject:urlD forKey: keyD];
//[bookmarks setObject:urlE forKey: keyE];

 NSLog(@"%@", [bookmarks valueForKey:keyA]);

aqui está a saída:

2010-01-13 11: 08: 51.484 atribuição_1b [6035: a0f http://www.apple.com

Foi útil?

Solução

Estou surpreso que o código não traga apenas. Veja aqui:

NSURL  *urlA;
urlA = [NSURL URLWithString:surlA]; 
NSURL  *urlB;
urlA = [NSURL URLWithString:@"http://www.apple.com"]; 

Você está atribuindo ao URLA duas vezes e nunca atribuindo ao URLB. Corrija isso e você verá o valor correto registrado.

Observe também que você pode fazer isso:

NSLog(@"dictionary: %@", anNSDictionary);

E veja todos os pares de chave/valor no dicionário.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top