NSThread *thTime;
thTime = [[NSThread alloc] initWithTarget:self selector:@selector(_th) object:nil];
[thTime start];
[thTime release];
- (void)_th {
// 스레드안에서의 처리들은 지역 오토릴리즈를 해야 한다.
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
while([[NSThread currentThread] isCancelled] == NO) // 현재 스레드를 반환하고 상태를 체크
{
NSLog(@"th 222");
NSString *t = [NSString stringWithFormat:@"%i", 1];
// 표현에 관계된 것들은 메인스레드로 보내자.
[self performSelectorOnMainThread:@selector(mainThreadSetText:) withObject:t waitUntilDone:YES];
[NSThread sleepForTimeInterval:0.1]; // 스레드에 대한 sleep 기능의 함수
}
[pool release];
}
- (void) mainThreadSetText:(NSString*)text
{
NSLog(@"mainThreadSetText");
//lbText.text = text;
}
- (void) _stop
{
[thTime cancel];
// cancel, 한번 스레드가 끝난 객체 즉 isFinished가 YES된 객체는 다시 실핼할 수 없다. 다시하고 싶은경우는 해제후 새로 만들어야함.
}
release is unavailable not available in automatic reference counting mode 에러 발생시..
해결 방법 : Apple LLVM 6.1 - Language - Objective C 에서 Objective-C Automatic Reference Counting Yes -> No
'Mobile Programming > iOS' 카테고리의 다른 글
XCODE7 에서 iOS용 OpenCV 사용하기 (설정 포함) (2) | 2016.04.17 |
---|---|
iOS 어플 URL 주소 (0) | 2011.07.11 |
맥OS Finder에 숨김파일 모두 표시하기 (0) | 2011.07.11 |
댓글