0

i found an issue with Photo Library Images. It not displaying first time in my View,Image View is blank while loading first time.

Because i found Asset Library block working on another thread.After reloading my View ,I can see all the Images. However first time the Image Views are Blank.

can any one tell me a good way to deal with the problem

It working with Bundle Images.

also some times console shows that

app is crashing due to Program received signal: “0”. Data Formatters temporarily unavailable, will re-try after a 'continue'. (Unknown error loading shared library "/Developer/usr/lib/libXcodeDebuggerSupport.dylib")

My Code:

  for (int j = 0; j<9; j++)
                {

          //allocating View         
           UIView *smallView = [[UIView alloc] initWithFrame:CGRectMake(xCordImage, yCordImage, 200, 190)];




            // allocating ImageView
            imageViewTopic = [[[UIImageView alloc] init] autorelease];                      


            typedef void (^ALAssetsLibraryAssetForURLResultBlock)(ALAsset *asset);
                                typedef void (^ALAssetsLibraryAccessFailureBlock)(NSError *error);    

            ALAssetsLibraryAssetForURLResultBlock resultblock = ^(ALAsset *myasset)
                                {
            ALAssetRepresentation *rep = [myasset defaultRepresentation];
            CGImageRef iref = [rep fullResolutionImage];
            UIImage *images;
                    if (iref) {

                        images = [UIImage imageWithCGImage:iref];                               

                    }

                    else {

                    images = [UIImage imageNamed:@"Nofile.png"];

                    }



                imageViewTopic .image  = images ;



            };



            ALAssetsLibraryAccessFailureBlock failureblock  = ^(NSError *myerror)
                                    {

                    imageViewTopic .image  = [UIImage imageNamed:@"Nofile.png"];



                NSLog(@"booya, cant get image - %@",[myerror localizedDescription]);
                };    



                    NSString *string ;

                     MyClass *obj = [imageFileNameArray objectAtIndex:j];

                    **//obj.fileName contains ALAsset URL of a Image**
                    string = obj.fileName;

                    NSURL *asseturl = [NSURL URLWithString:string];
                    ALAssetsLibrary* assetslibrary = [[[ALAssetsLibrary alloc] init] autorelease];
                  [assetslibrary assetForURL:asseturl                                      resultBlock:resultblock

                                                  failureBlock:failureblock];











       imageViewTopic.userInteractionEnabled = YES;


       imageViewTopic.frame = CGRectMake(0,0, 200, 150);


        [currentView addSubview:scroller];


         **// adding the imageView to View**
        [smallView addSubview:imageViewTopic];

        [myView addSubview:smallView];
             [scroller addSubview:myView];

      }
sham
  • 35
  • 7
  • Pretty hard to read your code formatted so strangely. Where is this code being performed, that is probably an essential aspect to this code failing. – EricLeaf Oct 08 '11 at 15:08
  • i added a scroll View in my View.The scroll View contains 9 UiViews and each UIView contains one image View. When main UILoads (when the RootView TableView cell is clicked) i need to display 9 ImageViews inside a ScrollView. At first time ,the 9 imageViews are empty. after reloading again dynamically, i can see all the images – sham Oct 08 '11 at 15:14
  • and some times app is crashing due to Program received signal: “0”. Data Formatters temporarily unavailable, will re-try after a 'continue'. (Unknown error loading shared library "/Developer/usr/lib/libXcodeDebuggerSupport.dylib") – sham Oct 08 '11 at 15:15

1 Answers1

0

I am using this method to show images in scroll view with lazy loading. It works well.

First initialize the value of j1. And data is the image data coming from loop from an array.

dispatch_async(dispatch_get_global_queue(0,0), ^{

             NSData * data = [[NSData alloc] initWithContentsOfURL:url];
             if ( data == nil )
                 return;
             dispatch_async(dispatch_get_main_queue(), ^{

                 __block int j1=_j;
                 // WARNING: is the cell still using the same data by this point??

                 //  NSURL *url = [NSURL URLWithString: imageName];
                 UIImage *image = [UIImage imageWithData: data]; //image.size.height
               image1=[[UIImageView alloc] initWithFrame:CGRectMake(j1,10,image.size.width,image.size.height)];

                 image1.image=image;

                 CALayer *layer = [image1 layer];
                 [layer setMasksToBounds:YES];
                 [layer setCornerRadius:0.0]; //note that when radius is 0, the border is a rectangle
                 [layer setBorderWidth:3.0];
                 [layer setBorderColor:[[UIColor whiteColor] CGColor]];


                 [portfolio_scroll addSubview:image1];

             }); 

         });
         _j = _j+ 320;
gnat
  • 6,213
  • 108
  • 53
  • 73