在設定 UIImage 的影像時,除了可以使用本機端的 Local 的影像資料,也可以透過 URL 網路位置來做影像內容上的設定,當然前提是你得要能連上網際網路才行,其設定方式如下。
//設定圖片的url位址
NSURL *url = [NSURL URLWithString:@"圖片的url"];
//使用NSData的方法將影像指定給UIImage
UIImage *urlImage = [[UIImage alloc] initWithData:[NSData dataWithContentsOfURL:url]];
//顯示影像
UIImageView *imageView = [[UIImageView alloc] initWithImage:urlImage];
imageView.frame = CGRectMake(40.0, 150.0, urlImage.size.width, urlImage.size.height);
[self.view addSubview:imageView];
//釋放記憶體
[urlImage release];
[imageView release];
hi 請教一下觀念~~
回覆刪除第一個疑問:設定圖片的url位址這部分我如果有多個照片網址該如何寫code
第二個疑問:使用NSData的方法將影像指定給UIImage這部分觀念~是指說可以指定多個 「url」給urlImage嗎?
第三個問題:假設我把url網址新增在資料庫欄位: 目前我把您文章「UITableView 的資料設定方式」已經改用sql資料庫 我只要在資料庫新增name 然後把圖片名稱設定成name.jpg 他就會對照出自己照片~現在我想用name 當key 去抓取url欄位然後在UIImage 顯示出圖片不知這樣的觀念對嗎?有點類似飯店app 每間旅館都有自己照片集 ~~PS我目的是為了方便管理例如我在sql增加url位置app就可以自行抓取照片~~以上~~感謝您觀念指導
Bryan Chen 您好:
刪除1. 您可以使用陣列來分別設定這些網址,或是使用一個plist檔案做存取,它同樣也是陣列的概念
2. 一個nsdata只能存放一張圖片資料,但是,同樣的意思如果您將nsdata放入陣列中,同樣可以存放多個圖片資料
3.用圖片檔名當key當然可以,但是如果遇到相同名稱的話這樣就會混淆,還是建議寧用index索引值來做key,索引值就像學生的學號一樣,一個班級就是一個資料表,即使有相同名稱的學生也不會混淆,你可以使用「陣列」或是「plist檔案」來設計你的程式,這些都是具有索引值的工具。
使用索引值你會發現有很多好處,例如您所提到的在sql增加欄位,當你下語法select*時,就會知道有多少比資料,而每一比都可以對印到陣列中的每一項資料,方便修改與回存。
ps:建議您去看看「精通objective2.0 程式設計」這一本書,相信可以釐清您很多的觀念,我們也是從這一本書開始的︿︿;