0
안녕하세요 여러분, 저는 IOS 개발에 익숙하지 않고 블록 기능을 연구하고 있습니다. 그들의 작업에 대해 혼란스러워하고 있습니다. 제 질문은 블록 기능의 매개 변수를 블록 외부에 인쇄 할 수 있습니까? 다음과 같이 내 코드가ios의 블록 기능
[messageRenderingOperation start:^(NSString * plainTextBodyString, NSError * error) {
NSLog(@"plain text:%@",plainTextBodyString);
}];
NSLog(@"plain text body:%@",plainTextBodyString);
내 출력 IDS 같다 : -
일반 텍스트 : 안녕하세요 세계
일반 텍스트 본문 : (null)와
이 값이 널 왜
. 도와주세요.
덕분에이 튜토리얼을 참조하시기 바랍니다 밖에서 하나 개의 변수를 선언하지만 me..still 작동하지 않습니다 null 값을 얻고 있습니다 .. –
NSLog에서 블록 변수를 인쇄합니다. 즉, plainTextString이 아닌 plainTextBodyString입니다. – Vaibhav
괜찮습니다. 블록에있는 코드 k는 비동기 적으로 실행됩니다. 따라서 블록의 코드가 블록의 코드가 실행되기 전 (또는 적어도 확실하게 완료되면) 실행됩니다. dispatch_sync는 기존의 뮤텍스 잠금과 의미 상 동일합니다. so dispatch_sync (대기열,^{ // 공유 리소스에 액세스 }); – Vaibhav