2013-04-29 2 views
0

제 아이오스 애플리케이션에서는 제품에 대한 정보를 표시하기 위해 많은 이미지 (약 1,000 개)를 사용합니다. 그럼 내가 런타임에 이런 오류가있어; 어떻게 NSFileManager를 닫을 수 있습니까?

는 ImageIO에서 : 나는 열려있는 파일을 닫을 수있는 방법 CGImageRead_mapData '오픈' 오류 = 24 (열려있는 파일이 너무 많습니다)

실패 그리고 NSFileManager를 사용하고?.

답장을 보내 주셔서 감사합니다.

UPDATE :이 루프 내있는 viewDidLoad에서

일부 코드,

while(sqlite3_step(compiledStatement) == SQLITE_ROW) { 
        NSString *imageName= [NSString stringWithUTF8String:(char*)sqlite3_column_text(compiledStatement, 2)]; 
        NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
        NSString *documentsPath = [paths objectAtIndex:0]; //Get the docs directory 
        NSString *filePath = [documentsPath stringByAppendingPathComponent:imageName]; 

        NSData *pngData = [NSData dataWithContentsOfFile:filePath]; 
        if (pngData == nil) { 
         image2 = [UIImage imageNamed:@"resimYok.jpeg"];//horoda 
        }else{ 
         image2 = [UIImage imageWithData:pngData]; 
        } 
        image2=[image2 imageByScalingAndCroppingForSize:CGSizeMake(175, 210)]; 

        UIButton * urunDetayButton = [UIButton buttonWithType:UIButtonTypeCustom]; 
        [urunDetayButton setFrame:CGRectMake(column*197+38 , row*350+58, 159, 170)]; 
        [urunDetayButton setImage:image2 forState:UIControlStateNormal]; 
        [urunDetayButton addTarget:self 
             action:@selector(buttonClicked:) 
           forControlEvents:UIControlEventTouchUpInside]; 
        urunDetayButton.tag = UrunId; 
        [scrollView addSubview:urunDetayButton]; 

        UIImageView *background = [[UIImageView alloc]initWithFrame:CGRectMake(column*197+30, row*350, 175, 280)]; 
        UIImage *blackBackGround = [UIImage imageNamed:@"BackImage.png"]; 
        [background setImage:blackBackGround];            
        [scrollView addSubview:background]; 
        [background release]; 
        [blackBackGround release]; 

        UIImage *sepeteEkleButtonImage = [UIImage imageNamed:@"sepeteEkleButtonImage.png"]; 
        UIButton * button = [UIButton buttonWithType:UIButtonTypeCustom]; 
        [button setFrame:CGRectMake(column*197+38 , row*350+8, 159, 45)]; 
        [button setImage:sepeteEkleButtonImage forState:UIControlStateNormal]; 
        [button addTarget:self 
           action:@selector(addToChart:) 
        forControlEvents:UIControlEventTouchUpInside]; 
        button.tag = UrunId; 

        [sepeteEkleButtonImage release]; 
       } 

, 나는 버튼의 수천을 만들 수 있습니다. 하지만 일부 단추 및 일부 imageview의 이미지를 볼 수 없습니다. 예 : "배경"및 "버튼"이미지 뷰 및 버튼. 두 개의 스크린 샷이 있으며 꼭 있어야하고 있어야합니다.

this one must be i want this one is current state

+2

는 어떻게 이미지를 보여 주거나 그 이미지를 열고있다? –

+0

내 질문이 업데이트되었습니다. – bdkhsn

+0

여기서 imageName 변수를 업데이트합니까? NSString * filePath = [documentsPath stringByAppendingPathComponent : imageName]; 그것은 항상 잘못된 filePath 얻을 것 같습니다 ... 당신이 db – Mikhail

답변

0

은 다음 구문을 사용하여 이미지를 만들기 위해 더 나은 것 일 수 있습니다

[UIImage imageWithContentsOfFile:filePath]; 
+0

내 앱이 실행 중이고 내 스토리 보드를 사용하여 버튼에 이미지를 설정하면 내 버튼의 이미지가 사라지지 않으므로이 코드 블록을 사용하지 않았습니다. – bdkhsn

+0

무엇을 의미합니까? 당신의 질문에 더 많은 세부 사항에서 무엇을하고 있는지 설명해주십시오. – Mikhail

+0

버튼과 이미지 뷰를 생성하기 위해 스토리 보드를 사용하고 있습니다. 그리고이 버튼과 이미지 뷰를위한 이미지를 설정하고 있습니다. 그러면이 오류가 발생하고 내 버튼의 이미지를 볼 수 없습니다. 그리고 imageview – bdkhsn

관련 문제