Метод Objective-C не вызывается

Это либо из-за того, что я устал, либо потому, что я делаю это неправильно, но по какой-то причине я не могу заставить его вызвать метод.

Вот что я пытаюсь вызвать:

-(void)newHighScore:(int)d

Что прямо сейчас просто делает NSLog, говорящий: «Да, я работаю!»

Я называю это так:

[highscore newHighScore:score];

highscore — это то, что я назвал классом HighScore в .h, а score — это int со счетом.


person Matt S.    schedule 19.03.2010    source источник


Ответы (2)


Вы инициализировали объект рекорда?

newHighScore — это метод экземпляра, поэтому ему нужен экземпляр этого объекта?

Вы должны иметь, прежде чем вызывать метод, что-то вроде строк

HighScore *highscore = [[HighScore alloc] init];

В противном случае highscore будет нулевым, и любые сообщения, переданные в nil, просто ничего не сделают.

person executor21    schedule 19.03.2010
comment
Ага. Незадолго до того, как я вошел в SO, я снова просмотрел свой код и понял, что не включил его, и он был нулевым. Примечание для ума: не используйте Tiredacode - person Matt S.; 19.03.2010

Я предполагаю, и это, вероятно, правильно, что рекорд равен нулю.

person Grant Paul    schedule 19.03.2010