• iOS之OC面向对象的建模:MVC


    • 实例化一个类:从plist文件抽取出类
    @interface Person : NSObject
    
    // 实例化对象(抽取出类)
    @property (nonatomic, strong)NSString *name;
    @property (nonatomic, strong)NSString *tel;
    @property (nonatomic, strong)NSString *pic;
    
    // 遍历初始化(参数是字典)
    - (Person *)initWithDictionary:(NSDictionary *)dic;
    + (Person *)personWithDictionary:(NSDictionary *)dic;
    @end
    • 使用字典作为自定义构造器的参数
    #import "Person.h"
    
    @implementation Person
    
    // 自定义构造器
    - (Person *)initWithDictionary:(NSDictionary *)dic
    {
        if (self = [super init])
        {
            _name = dic[@"name"];
            _tel = dic[@"tel"];
            _pic = dic[@"pic"];
        }
        return self;
        
    }
    
    // 类工厂方法
    + (Person *)personWithDictionary:(NSDictionary *)dic
    {
        return [[self alloc] initWithDictionary:dic];
        
    }
    
    @end
    •  存储对象的不仅仅可以是该类的指针
    •  把plist文件实例化最大的好处:数据处理创建对应对象,取值操作数据变得很easy
    •  实例化对象后,不需要考虑plist文件格式,只需要找对应实例取值就OK
    •  注意:
    •  因为所有的数据都被实例化到一个集合,如果分区的话,每个区取值都是从0开始

    •  因此这里使用实例化对象是得不到分区以及分区索引的:使用属性都在一个集合

    •  字典有时候更适合,不要思维定式为集合首选(面向对象的思想)

    •  // 初始化动态集合
          self.arrPerson = [NSMutableArray array];
          // 实例化该plist抽取出类的对象:通过字典赋值
          for (NSString *key in self.arrSection)
          {
              // 遍历字典所有value得到的是集合
              
              for (NSDictionary *dic in self.dicData[key])
              {
                  // 遍历该集合得到的每个人对象的信息(字典)
                  集合存储对象(对象的存储不仅仅局限于该类的指针)
                  [self.arrPerson addObject:[Person personWithDictionary:dic]];
              }
          }
          // 测试数据存在
          NSLog(@"存储的任意对象key为name = %@", [self.arrPerson[12] name]);
          










  • 相关阅读:
    [引]ASP.NET MVC 4 Content Map
    [转]ASP.NET MVC 2: Model Validation
    [转]ASP.NET MVC中你必须知道的13个扩展点
    [转]Best way to sort a DropDownList in MVC3 / Razor using helper method
    [转]Sql Server参数化查询之where in和like实现详解
    [转]Oracle Stored Procedures Hello World Examples
    [转]oracle的ANYDATA数据类型
    重构中对设计模式的反思
    poj2186 Popular Cows --- 强连通
    mac下通过xcodebuild使用oclint
  • 原文地址:https://www.cnblogs.com/tmf-4838/p/5294036.html
Copyright © 2020-2023  润新知