Почему ошибка с этим кодом? - PullRequest
0 голосов
/ 30 января 2012

у меня есть:

boardValue = [NSNumber numberWithInteger: 2];
NSDictionary * dict = [NSDictionary dictionaryWithValuesForKeys: @"sample", @"word", boardValue , @"value", nil];

Это очень похоже на следующий пример:

NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys: @"value1", @"key1", @"value2", @"key2", nil];

из документации Apple по адресу: http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/nsdictionary_Class/Reference/Reference.html

Я получаю сообщение об ошибке "слишком много аргументов для вызова метода, ожидайте 1, есть 5". В чем проблема?

Ответы [ 2 ]

2 голосов
/ 30 января 2012

dictionaryWithValuesForKeys: принимает массив в качестве аргумента, а не список переменных аргументов.

(Также я считаю, что это метод экземпляра, а не метод класса, поэтому [NSDictionarydictionaryWithValuesForKeys: args] `не будет работать.)

1 голос
/ 30 января 2012

Обратите внимание на ваш код по сравнению с документацией.Вы хотите позвонить ...

boardValue = [NSNumber numberWithInteger: 2]; 
NSDictionary * dict = [NSDictionary dictionaryWithObjectsAndKeys: @"sample", @"word", boardValue , @"value", nil];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...