9 Şubat 2013 Cumartesi

IOS İnternetten Resim İndirme Kodu

Merhaba . IOS de verilen linkten resim indirme ve bu resmi UIImageView de göstermeyi anlatıcam .  Bu örnek en basit örnek ve resim internetten indirilirken Main Thread kullanılıyo . Bu durumda diğer viewler (buton falan) kullanılamaz .

Ekranı kaplayan UIImageView ekledim ve indirilen resim burada gösterilecek .

  


@property(nonatomic,retain)IBOutlet UIImageView *imageView;
 
ile UIImageView için property oluşturuyoruz ve imageview imize bağlıyoruz . Böylece indirdiğimiz resim bu imageview de gösterilebilecek. Property i ".m" dosyasında synthesize etmemiz gerekiyo.

Resim indirme işlemini fonksiyona atadım ve bu link dışarıdan indirilecek resimin linkini alıyo .

   -(void)resimIndir:(NSString*)resimLink

NSString tipindeki link NSUrl oluşturmak için kullanılıyo .

    NSURL *resimUrl = [NSURL URLWithString:resimLink];

URLWithString metodu verilen linkten NSUrl oluşturmamızı sağlar .

     NSData *resimData = [NSData dataWithContentsOfURL:resimUrl];

ile de verilen url den NSData türünde bilgi gelir . NSData genel bir kavram ve birçok tip için kullanılır . Biz de resimimizin bilgisini burada tutucaz . Gerçek indirme işlemi burada yapılıyo

      UIImage *indirilenResim = [UIImage imageWithData:resimData];

ile de indirdiğimiz veriyi resime dönüştürüyoruz . Artık bu resmi kullanabiliriz

     imageView.image = indirilenResim;

bu adımda da resimin gösterilme aşaması var . Eğer ki herşey doğru çalışıyosa resmi görmeniz gerekir.

Yazdığımız fonksiyonu denemek için ViewDidLoad metodunda örnek olarak bir resim indirdim .

   NSString *resimLinki = @"https://devimages.apple.com.edgekey.net/technologies/tools/images/new_hero20110308.jpg";
    

  [self resimIndir:resimLinki];




İstediğiniz resimin linkini yazarak resimi indirebilirsiniz.

Birsonraki yazıda resmi asenkron olarak indirip ekranda göstermeyi anlatıcam


-(void)resimIndir:(NSString*)resimLink{
   
    NSURL *resimUrl = [NSURL URLWithString:resimLink];
   
    NSData *resimData = [NSData dataWithContentsOfURL:resimUrl];
   
    UIImage *indirilenResim = [UIImage imageWithData:resimData];
   
    imageView.image = indirilenResim;



}




 

Hiç yorum yok:

Yorum Gönder