iOS开发基础-图片切换(3)

延续:iOS开发基础-图片切换(2),对(2)里面的代码用属性列表plist进行改善。

  

  新建 Property List 命名为 Data 获得一个后缀为 .plist 的文件。

  按如图修改刚创建的文件:

  最后,修改 infoArray 的 getter 方法:

 1 //infoArray的getter方法
 2 - (NSArray *)infoArray {
 3     NSLog(@"需要获取图片信息数组");
 4     //只实例化一次
 5     if (_infoArray == nil) {
 6         NSString *path = [[NSBundle mainBundle]pathForResource:@"Data" ofType:@"plist"];  //获取plist文件路径
 7         _infoArray = [[NSArray alloc] initWithContentsOfFile:path];
 8         NSLog(@"%@", path);
 9         NSLog(@"实例化数组");
10     }
11     return _infoArray;
12 }

  使用 Plist 文件的好处:将数据与代码分离。

   实例代码:http://pan.baidu.com/s/1jHmt2wm

时间: 2024-10-18 16:25:18

iOS开发基础-图片切换(3)的相关文章

iOS开发基础-图片切换(2)

延续:iOS开发基础-图片切换(1),对(1)里面的代码进行改善. 在 ViewController 类中添加新的数组属性:  @property (nonatomic, strong) NSArray *infoArray; //存放图片信息 通过 self.infoArray 的 getter 方法对其实现初始化(懒加载),其中代码中的 _infoArray 不能用 self.infoArray 替换: 1 //infoArray的get方法 2 - (NSArray *)infoArray

iOS开发基础知识--碎片12

iOS开发基础知识--碎片12 1:Delegate运用 .h #import <UIKit/UIKit.h> @protocol FilterHeaderViewDelegate <NSObject> @required -(void)filterHeaderViewMoreBtnClicked:(id)sender; @end extern float CYLFilterHeaderViewHeigt; @interface FilterHeaderView : UIColle

iOS开发-基础面试题(一) 分类: 面试题

iOS开发-基础面试题(一) 1.Difference between shallow copy and deep copy??浅复制和深复制的区别?? 答:浅层复制:只复制指向对象的指针,而不复制引用对象本身.?深层复制:复制引用对象本身.?意思就是说我有个A对象,复制一份后得到A_copy对象后,对于浅复制来说,A和A_copy指向的是同一个内存资源,复制的只不过是是一个指针,对象本身资源?还是只有一份,那如果我们对A_copy执行了修改操作,那么发现A引用的对象同样被修改,这其实违背了我们

iOS开发基础知识--碎片35

iOS开发基础知识--碎片35 1:iOS视图控制对象生命周期 init-初始化程序 viewDidLoad-加载视图 viewWillAppear-UIViewController对象的视图即将加入窗口时调用: viewDidApper-UIViewController对象的视图已经加入到窗口时调用: viewWillDisappear-UIViewController对象的视图即将消失.被覆盖或是隐藏时调用: viewDidDisappear-UIViewController对象的视图已经消

iOS开发基础知识--碎片32

 iOS开发基础知识--碎片32 1:动画属性UIViewAnimationOptions说明 a:常规动画属性设置(可以同时选择多个进行设置) UIViewAnimationOptionLayoutSubviews:动画过程中保证子视图跟随运动. UIViewAnimationOptionAllowUserInteraction:动画过程中允许用户交互. UIViewAnimationOptionBeginFromCurrentState:所有视图从当前状态开始运行. UIViewAnimat

iOS开发基础知识--碎片3

iOS开发基础知识--碎片3  iOS开发基础知识--碎片3 十二:判断设备 //设备名称 return [UIDevice currentDevice].name; //设备型号,只可得到是何设备,无法得到是第几代设备 return [UIDevice currentDevice].model; //系统版本型号,如iPhone OS return [UIDevice currentDevice].systemVersion; //系统版本名称,如6.1.3 return [UIDevice

iOS开发基础知识--碎片2

iOS开发基础知识--碎片2 六:获得另一个控件器,并实现跳转 UIStoryboard* mainStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; UIViewController *registerViewController = [mainStoryboard instantiateViewControllerWithIdentifier:@"registerView

iOS开发基础-九宫格坐标(4)

对iOS开发基础-九宫格坐标(3)的代码进行进一步优化. 新建一个 UIView 的子类,并命名为 WJQAppView ,将 appxib.xib 中的 UIView 对象与新建的视图类进行关联.  WJQAppView 类中声明3个 IBOutlet 属性,与 appxib.xib 中的视图对象包含的 UIImageView . UILabel 和 UIButton 建立连接. WJQAppView 头文件代码如下所示: 1 //WJQAppView.h 2 @interface WJQAp

iOS开发基础知识--碎片23

iOS开发基础知识--碎片23  1:关于UITableView中关于行重复加载的问题 在Cell里重写prepareForReuse,对一些控件进行清空: 比较简单: -(void)prepareForReuse{ [super prepareForReuse]; _content_label.text = nil; _time_date_label.text = nil; _name_label.text = nil; _career_label.text = nil; } 下面这个是我在c