我有一個pinpad類,每次輸入後都會對它上面的按鈕進行加擾。該課程作爲一個單獨的項目完美工作,但是當添加到特定項目時,我會收到一條[__NSCFSet stringByAppendingFormat:]: unrecognized selector sent to instance
消息。這裏是一個觸發消息的方法:[__NSCFSet stringByAppendingFormat:]:發送到實例的無法識別的選擇器
-(void)touchedButtonInCell:(id)sender
{
// Obtain the current number string entered from the pinpad.
_pinpadNumber = [_pinpadNumber stringByAppendingFormat:@"%i", [sender tag]];
// Verification of values
NSLog(@"%i", [sender tag]);
NSLog(@"%@", _pinpadNumber);
// Check the entry of the PINPAD_NUMBER_LENGTH character/number
if ([_pinpadNumber length] >= PINPAD_NUMBER_LENGTH)
{
// Trigger delegate method to handle the pin pad number received.
if ([_delegate respondsToSelector:@selector(receivedPinPadNumber:)])
{
[_delegate receivedPinPadNumber:_pinpadNumber];
}
// Reset the contents of the pin pad number string
_pinpadNumber = @"";
}
// Ensure all elements are scrambled for next number entry.
[self scramblePinpadGridView];
}
如果我評論頂端_pinpadNumber = [_pinpadNumber線,將打印適當的值。當我取消註釋該行時,它僅在第一次運行,並且在第二個按鈕被碰撞時崩潰。
我一直在爲這一點掙扎了兩天多。我真的希望有人能夠爲此帶來一些啓示。
你有殭屍運行啓用? –
也運行「分析」下找到產品菜單,看看它是否指出了一些內存問題。幾乎肯定_pinpadNumber不被保留,其獲得發佈,並且操作系統稍後將使用該NSSet的某個內存位置。 –
好吧,所以當運行殭屍我得到這個:*** - [CFString stringByAppendingFormat:]:發送到釋放實例的消息。我仍然不明白爲什麼它會釋放字符串實例。我不會在任何地方釋放它。 –