2
변경 int 값은 블록에서, 나는이 방법이 :블록에서 int 값을 변경하는 방법은 무엇입니까?
__block long long size = -1;
ALAssetsLibraryAssetForURLResultBlock resultblock = ^(ALAsset *myasset)
{
ALAssetRepresentation * rep = [myasset defaultRepresentation];
size = [rep size];
//here showed normal value
NSLog(@"needed size : %lld",size);
};
ALAssetsLibrary* assetslibrary = [[[ALAssetsLibrary alloc] init] autorelease];
[assetslibrary assetForURL:self.tmpVideoURL
resultBlock:resultblock
failureBlock:nil];
//but here remaind -1
NSLog(@"out block value : %lld",size);
무엇이 길어? – Ali
이것이 실제 코드라면 문제는 블록이 정의 된 바로 그 지점에서 실행되고 있지 않다는 것입니다. 정확히 두 번째'NSLog'가 코드에 있습니까? 실제로 "필요한 크기"가 "블록 값 초과"이전에 로그에 표시되는 것을 보 고 있습니까? 아니면 그 반대입니까? –
1 초 .. 곧 업데이트하겠습니다! –