延續:iOS開發基礎-圖片切換(1),對(1)裏面的代碼進行改善。html
在 ViewController 類中添加新的數組屬性:數組
@property (nonatomic, strong) NSArray *infoArray; //存放圖片信息 瀏覽器
經過 self.infoArray 的 getter 方法對其實現初始化(懶加載),其中代碼中的 _infoArray 不能用 self.infoArray 替換:atom
1 //infoArray的get方法 2 - (NSArray *)infoArray { 3 NSLog(@"須要獲取圖片信息數組"); 4 //只實例化一次 5 if (_infoArray == nil) { 6 NSLog(@"實例化數組"); 7 NSDictionary *dict0 = @{@"name":@"beauty0", @"desc":@"美女1號"}; 8 NSDictionary *dict1 = @{@"name":@"beauty1", @"desc":@"美女2號"}; 9 NSDictionary *dict2 = @{@"name":@"beauty2", @"desc":@"美女3號"}; 10 NSDictionary *dict3 = @{@"name":@"beauty3", @"desc":@"美女4號"}; 11 NSDictionary *dict4 = @{@"name":@"beauty4", @"desc":@"美女5號"}; 12 _infoArray = @[dict0, dict1, dict2, dict3, dict4]; 13 } 14 return _infoArray; 15 }
修改 change 方法以下:spa
1 //視圖內容更新與顯示 2 - (void)change { 3 //初始化兩個標籤和一個圖片 4 self.imageIcon.image = [UIImage imageNamed:self.infoArray[self.i][@"name"]]; 5 self.lastLabel.text = self.infoArray[self.i][@"desc"]; 6 [self.firstLabel setText:[NSString stringWithFormat:@"%d/5", self.i+1]]; 7 8 self.leftButton.enabled = (self.i != 0); //顯示第1張圖片時,左翻按鈕失效 9 self.rightButton.enabled = (self.i != 4); //顯示第5張圖片時,右翻按鈕失效 10 }
參考博客:iOS開發UI篇—簡單的瀏覽器查看程序code
示例代碼:http://pan.baidu.com/s/1XFj10orm