ios笔记

1.项目里的资源通过主资源包加载到程序中

  • 例如
   NSBundle *bundle = [NSBundle mainBundle]; // 加载主资源包**  
NSString   *path = [bundle pathForResource:@"shops"ofType:@"plist"];
_shops= [NSArray arrayWithContentsOfFile:path];  //  _shops为数组

2.懒加载(提高性能)需要的时候再加载也就是重新写get方法

  • 例如
   -(NSArray *)shops{
   if(_shops ==nil){

            NSBundle*bundle = [NSBundle mainBundle];

          NSString*path = [bundle   pathForResource:@"shops"ofType:@"plist"];

          _shops= [NSArrayarrayWithContentsOfFile:path];
}
   return _shops ; // _shops为数组

}

3.HUB(蒙板)

就是一个UILable,可以控制它什么时候显示,和隐藏。用 隐藏属性,与透明度来属性来实现。例如:

 **UILable lable  =[ [ UILable  alloc] init];**

**Lable.Hiden = YES;// 用的是隐藏属性。

4.模型的创建与运用

  • 4.1 首先新建一个类,用于描述模型数据
  • 4.2 然后写一个初始化的方法。其中带有参数。用于初始化一个具体对象。例如传递进去一个字典返回一个模型数据
  • 4.3 与模型有关的都封装在模型中

例如

 ``` 
  - (id)initWithDict:(NSDictionary *) dict{
     if(self = [super init]){
            _name =  dict[@"name"]; /
               _icon = dict[@"icon"];
      }
              return self;
       }

```

5.可以在懒加载中将字典数据转化为模型数据

    好处是每次都加载一下,不用多次加载。

例如

 - (NSArray *) shops

{ 

     if(_shops ==nil){

          NSBundle *bundle = [NSBundle mainBundle];

           NSString *path = [bundle  pathForResource:@"shops"ofType:@"plist"];

           NSArray * dictionArray = [NSArray arrayWithContentsOfFile:path];

          NSMutableArray  *shopArray = [NSMutableArray array];

          for(NSDictionary  *dict in dictionArray)

         {      

             Shop *shop = [Shop shopWith:dict];

                  _shops  =   [shopsArray addObject: shop];

             }

          }

return  _shops;

}```
###6.关于instancetype.
    + 6.1在类型上跟id一样,可以表示任何对象类型。
    + 6.2 只能用在返回值类型上,不能像id一样用在参数类型上。
    + 6.3 instancetype比id多一个好处。编译器会自动检测instancetype的真实类型。
###7.创建类的时候加上类前缀,例 YHshops,YHcar。
      7.1方便团队成员知道代码的作者或者功能比较容易区分。
      7.2 防止团队成员的类名冲突。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.位置和尺寸 frame 修改位置和尺寸bounds 修改尺寸center 修改位置 2.textfield s...
    王慕博阅读 1,176评论 1 24
  • 一、沙箱SandBox和Bundle的概念 个人觉得要弄懂数据存储首先应该明确沙箱SandBox和Bundle的概...
    尽欢呀尽欢阅读 440评论 1 7
  • 导读: iOS开发中,很多时候系统提供的控件并不能很好的满足我们的需求,因此,自定义控件便成为搭建UI界面中必不可...
    Developer_Yancy阅读 5,509评论 10 50
  • scrollView里lastObject不一定是你加的,可能会存在其他非手动添加的系统默认的子控件 edit a...
    尽欢呀尽欢阅读 459评论 0 6
  • 今天就本周作业的读取txt文件查找了的一些方法,如下: //读取文本内容NSError *error;NSStri...
    霏誠拜咬o阅读 637评论 0 0