2012-03-01 12 views
0

私はサーバーから解析された画像を表示するためにKTPhotoBrowserを使用しています。 また、共有キットを使用して画像を共有しています。 KTPhotoBrowserPhotoDataSourceNSObjectクラスを使用している場合、共有は正常に機能します。SDWebImageDataSource in KTPhotoBrowser --iPhone

:私は共有キットにより、画像を共有するSDWebImageDataSourceNSObjectクラスを使用する場合、私はアプリを終了

言っアクションシートボタンを押したときに

はしかし、それがキャッチされない例外によりNSInvalidArgumentException、理由にクラッシュします->[SDWebImageDataSource imageAtIndex:]: unrecognized selector sent to instance 0x8682e10

私はスクロールビューで画像を表示することができます。

私はアクションシートを押したときに次のコードを使用しました。 KTPhotoScrollViewControllerクラス。 NSLogで

-(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex { 

    if (buttonIndex == actionSheet.cancelButtonIndex) return; 

    NSDictionary *table = [[NSDictionary alloc] initWithObjectsAndKeys:@"SHKTwitter", @"Twitter", @"SHKFacebook", @"Facebook", @"SHKMail", SHKLocalizedString(@"Email", nil), nil]; 
    NSString *sharersName = [actionSheet buttonTitleAtIndex:buttonIndex]; 
    Class SharersClass = NSClassFromString([table objectForKey:sharersName]); 

    [table release]; 

    NSLog(@"dataaaasrc-- %@",dataSource_); 
    UIImage *image = [dataSource_ imageAtIndex:currentIndex_]; 
    SHKItem *item = [SHKItem image:image title:@"Look at this picture!"]; 

    [SharersClass performSelector:@selector(shareItem:) withObject:item];  
} 

私は次のように得た:

dataaaasrc--SDWebImageDataSource: 0x8682e10 //betwn lessthan and greater than symbols 

-[SDWebImageDataSource imageAtIndex:]: unrecognized selector sent to instance 0x8682e10 

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[SDWebImageDataSource imageAtIndex:]: unrecognized selector sent to instance 0x8682e10' 
*** First throw call stack: 

答えて

0

私がいることを、「画像を保存」ボタンを作るためにサンプルからいくつかのコードを使用して、あなたのsharekitボタンを望む同じ場所を管理KTPhotoBrowserが付属しています。 (私はFlickrSampleとTabBarSampleに見えた)

SDWebImageDataSource.mで私はこれを追加しました:その後、あなたのようなあなたの電話をかけることができ

- (UIImage *)imageSourceAtIndex:(NSInteger)index; 

:KTPhotoBrowserDataSource.hで

- (UIImage *)imageWithURLString:(NSString *)string { 
NSURL *url = [NSURL URLWithString:string]; 
NSData *data = [NSData dataWithContentsOfURL:url]; 
UIImage *image = [UIImage imageWithData:data]; 
return image; 
} 

- (UIImage *)imageSourceAtIndex:(NSInteger)index { 
NSArray *imageUrls = [images_ objectAtIndex:index]; 
NSString *url = [imageUrls objectAtIndex:FULL_SIZE_INDEX]; 
return [self imageWithURLString:url]; 
} 


をこれは:

UIImage *image = [dataSource_ imageSourceAtIndex:currentIndex_];