我有一個封面流,它有3個不同的圖像集。其中一個需要生成,我一直在試圖讓它填充一個線程,用於更大的圖像選擇。NSThread被稱爲第二次(在第一次沒有完成後)得到「EXC_BAD_ACCESS」
這裏有點我的代碼:
- (void) startSongThread {
[NSThread detachNewThreadSelector:@selector(songThreadMain) toTarget:self withObject:nil];
}
- (void) songThreadMain {
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
int i = 0;
while(i < [items count] && ![[NSThread currentThread] isCancelled]) {
NSNumber *nsInt = [NSNumber numberWithInt:i];
if(![addedSongIndexes containsObject:nsInt]) [self setSongImage:nsInt];
i++;
}
[pool release];
}
- (void) stopSongThread {
if(![[NSThread currentThread] isCancelled]) [[NSThread currentThread] cancel];
}
的圖像時,從一種類型更改爲另一stopSongThread方法被調用。
如果我加載所有的主要圖像,切換圖像集,然後切換回主集我總是得到EXC_BAD_ACCESS。
我試圖分配線程,但它只能工作一次以及..如果我讓它加載並且不要試圖阻止它,它的工作很好。
任何幫助wuld是偉大的,謝謝!
你會得到什麼錯誤的訪問錯誤? – 2010-09-10 01:30:48
每次都有所不同,具體取決於何時切換並嘗試停止線程。 – 2010-09-10 15:38:05