APP开发之我遇到的那点事儿-4(NSInvocation调用崩溃)

本文讲述了在APP开发过程中遇到的NSInvocation调用问题,特别是当对象在getReturnValue时因ARC导致崩溃的情况。为了解决这个问题,文章介绍了创建BaseModel实例化NSDictionary的方法,并强调了属性与key的对应。此外,还详细说明了子类如何实现归档解档,以及BaseModel提供的转换字典和JSON字符串的方法。文章进一步探讨了数据库操作,包括创建FBBSqlManagerTool工具类动态建立数据库,以及封装成框架的步骤。最后,提到了在集成FBBSqlite3.framework时可能出现的构建错误及其解决方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上一节已经通过接口请求得到一个JSON串并实例化成为id类型。
当 id为NSDictionary

创建BaseModel用来实例化NSDictionary类型。
注意:
1 、NSInvocation在调用- (void)getReturnValue:(void )retLoc; retLoc 定义成NSObject类型是,APP崩掉,因为ARC:NSObject对象在getReturnValue的时候会被自动释放。可以写成如下:
在这里插入图片描述
2、子类继承父类BaseModel,定义属性与key键要一一对应,实例化对象调用-(id)initWithDataDic:(NSDictionary
)data;
3、id不用做为属性名称,可以在子类重新赋值。

  • (void)setAttributes:(NSDictionary *)dataDic{
    [super setAttributes:dataDic];
    self.cityId = dataDic[@“id”];
    }
    4、实例化子类如需要归档解档,需要在子类重写方法
  • (NSDictionary*)attributeKey{
    NSDictionary dic = @{
    @“cityId”: @“cityId”,
    @“city_date”: @“city_date”
    };
    return dic;
    }
    5、BaseModel定义如下两个方法,方便后面对数据的操作。
    /
    *
  • 将对象转成字典
    */
  • (NSDictionary*)modelChangToDIC;//将对象转成字典

/**

  • 将对象转成JSON字符串
    */
  • (NSString *)modelChangToStr;

数据库操作:
1、创建FBBSqlManagerTool工具类,+ (void)load动态创建数据库,通过xml文件建立表,如下图:
在这里插入图片描述
2、宏定义基本的增删改查,方便使用,部分代码截图。
在这里插入图片描述
3、将数据库操作部分封装成FBBSqlite3.framework,方便在别的APP中使用。公开FBBSqlManagerTool.h头文件。
注意:添加FBBSqlite3.framework到工程目录入时,Build报not image类似的错误,具体不太记得了(本人重启xcode没有添加也没报错了),将FBBSqlite3.framework添加到Copy Files。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值