我遇到了一些代碼的麻煩。我縮小到這個問題:首先,reverseString和2都是NSMutableStrings
_input1
和_input2
是NSStrings
,我試圖將零添加到最小的字符串,但它不能正常工作,這就是我得到的。 reverseString
是@"123"
和reverseString2是@"34567"
。將零追加到NSString的末尾?
//they get initialized back into the original strings
_input1=reversedString;
_input2=reversedString2;
//appends 0 to the shortest value
while ([_input1 length]>[_input2 length]){
_input2=[_input2 stringByAppendingString:@"0"];
_length=[_input1 length];
}
while ([_input1 length]<[_input2 length]){
_input1=[_input1 stringByAppendingString:@"0"];
_length=[_input2 length];
}
//converts the string to an NSArray
for (int i=0; i <([_input1 length]); i++) {
NSString *TempStr = [_input1 substringWithRange:NSMakeRange(i, 1)];
[one addObject:[TempStr stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
}
for (int i=0; i <([_input2 length]); i++) {
NSString *TempStr2 = [_input2 substringWithRange:NSMakeRange(i, 1)];
[two addObject:[TempStr2 stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
}
現在我注意到,當它經過這個循環中,最小的一個,_input1
,被設置爲@""
,而不是加零到最後。順便說一下,這是屬於一類的。
這也是我收到錯誤:
objc [2291]:方法緩存破壞。這可能是一個無效對象的消息,或者其他地方的內存錯誤。 objc [2291]:接收機0x100300830,SEL 0x7fff8a689779,ISA 0x7fff727b8bd0,高速緩存0x7fff727b8be0,水桶0x7fff89b9b09c,掩模爲0x1,佔領爲0x0,包裹桶0x7fff89b9b09c
objc [2291]:接收機0字節,水桶0字節
objc [2291] :選擇 '長度'
(LLDB)
但你的代碼工作正常,問題在哪裏? –
所以你的意思是說在你的兩個數組中它顯示的是零對象嗎? –
你的代碼對我來說工作正常。 –