Hallo,
auch auf die Gefahr hin, dass ich mich blamiere…die Blockvarialble "count" funktioniert nicht.
Wenn ich in die Methode springe hat "count" keine Adresse und keinen Wert ( GDB ).
Im Block selbst steht eine zufällige Zahl drin, die, wenn sie dekrementiert wird trotzdem den Wert behält.
Falls jemand sieht was ich da falsch mache…schon mal im Voraus vielen Dank.
Jürgen
- (void)loadAssetsFromPhotoRoll
{
__block int count = 10;
void (^assetEnumerator)(ALAsset *, NSUInteger, BOOL *) = ^(ALAsset *result, NSUInteger index, BOOL *stop)
{
if(result != nil)
{
count--;
}
};
void (^assetGroupEnumerator)(ALAssetsGroup *, BOOL *) = ^(ALAssetsGroup *group, BOOL *stop)
{
if(group != nil && count>0)
{
[group enumerateAssetsUsingBlock:assetEnumerator];
}else{
*stop = YES;
}
};
void (^assetFailureBlock)(NSError *) = ^(NSError *error)
{
};
ALAssetsLibrary *assetsLibrary = [[ALAssetsLibrary alloc] init];
[assetsLibrary enumerateGroupsWithTypes:ALAssetsGroupSavedPhotos usingBlock:assetGroupEnumerator failureBlock:assetFailureBlock];
[assetsLibrary release];
}
auch auf die Gefahr hin, dass ich mich blamiere…die Blockvarialble "count" funktioniert nicht.
Wenn ich in die Methode springe hat "count" keine Adresse und keinen Wert ( GDB ).
Im Block selbst steht eine zufällige Zahl drin, die, wenn sie dekrementiert wird trotzdem den Wert behält.
Falls jemand sieht was ich da falsch mache…schon mal im Voraus vielen Dank.
Jürgen
- (void)loadAssetsFromPhotoRoll
{
__block int count = 10;
void (^assetEnumerator)(ALAsset *, NSUInteger, BOOL *) = ^(ALAsset *result, NSUInteger index, BOOL *stop)
{
if(result != nil)
{
count--;
}
};
void (^assetGroupEnumerator)(ALAssetsGroup *, BOOL *) = ^(ALAssetsGroup *group, BOOL *stop)
{
if(group != nil && count>0)
{
[group enumerateAssetsUsingBlock:assetEnumerator];
}else{
*stop = YES;
}
};
void (^assetFailureBlock)(NSError *) = ^(NSError *error)
{
};
ALAssetsLibrary *assetsLibrary = [[ALAssetsLibrary alloc] init];
[assetsLibrary enumerateGroupsWithTypes:ALAssetsGroupSavedPhotos usingBlock:assetGroupEnumerator failureBlock:assetFailureBlock];
[assetsLibrary release];
}