저는 현재 iPhone을위한 첫 번째 앱을 만들고 있습니다. 거의 완료되었지만 메모리 관리 등에 문제가 있습니다. 나는 자바에 능숙하며 약 4 일 동안 Objective C만을 배우고 있다는 것을 명심하라.객관적인 C 메모리 문제
따라서 정확한 문제는이 영역에 있습니다 (별표 줄 사이). 참고 : 모든 코드는 큰 게임 루프 안에 있습니다.
else
{
***********************************
NSString *rand = [NSString stringWithFormat:@"%@", randNumberS];
while(lastTime + interval >= currentTime)
{
!!!!!!!!!NSString *user = [NSString stringWithFormat:@"%@", userText];
if([user isEqualToString: rand])
{
***********************************
score += 10;
randNumberS = nil;
timeToGenerateNum = true;
bottomClear = true;
break;
}
else
{
//NSLog(@"%@ != %@, %i", userText, randNumberS, score);
}
}
NSLog(@"Game Over! Your score was %i!", score);
}
}
나는 좀비 활성화하기 전에 내가 달릴 때마다 (참고 : 코드는 BTW 몇 초 동안 실행)은 "!", 나는 표시 줄에서 Thread 6: Program received signal: "EXC_BAD_ACCESS"
을 얻었다. 좀비를 사용하도록 설정하면 몇 초 동안 실행 된 다음 작동이 멈추고 -[CFString respondsToSelector:]: message sent to deallocated instance 0x11168440
메시지가 콘솔에 표시됩니다. 또한 "!"기호를 사용하여 같은 줄에 플래그를 지정합니다.
나는이 둘을 모두 보았고 둘 다 열악한 메모리 관리를 가리키고 있지만 NSString 객체를 릴리스하려고 시도했지만 내 프로그램에서 객체를 릴리스하지 못하게했습니다. (참고 :이 오류 메시지는 "release" is unavailable: not available in automatic reference counting mode
입니다.)
도움을 주시면 감사하겠습니다.
편집 :
userText는하지만 대부분이 하나, 방법의 다양한 숫자에 사용됩니다.
-(IBAction)button1Clicked:(id)sender
{
if(userText == nil)
{
userText = [NSString stringWithFormat:@"%i", 1];
}
else
{
userText = [NSString stringWithFormat:@"%@%i",userText , 1];
}
bottomLabel.text = userText;
NSLog(@"Test 1");
}
는 초기화됩니다 위치를 표시 할 수 있습니다, 주변에 더 이상 없다, 그것은이 코드의 다른 곳에서 처리 어떻게 ? –