美文网首页
iOS操作 字典 或者 数组 每次都崩溃到 Main函数

iOS操作 字典 或者 数组 每次都崩溃到 Main函数

作者: json_jie | 来源:发表于2018-05-13 20:21 被阅读65次

iOS操作 字典 或者 数组 每次都崩溃到 Main函数,无法定位到位置的问题解决方案


屏幕快照 2018-05-13 下午7.58.36.png 屏幕快照 2018-05-13 下午7.57.51.png

当由于声明的类型,再不之情的情况下被赋值其他类型的数据,
例如:声明的是一个字典类型的数据,由于后台数据结构更改变成一个字符串类型,接收的时候调用方法,引起崩溃,每次都崩溃在main函数,对象调用方法不存在的方法

添加该方法的断言,就回崩溃在断言的地方,根据方法的输入参数,确定调用的方法的位置

代码片段

//
//  ViewController.m
//  Test
//
//  Created by jie on 2018/5/13.
//  Copyright © 2018年 jie. All rights reserved.
//

#import "ViewController.h"
@interface ViewController (){
    NSMutableDictionary *dic;
    NSMutableArray *mArr;
}
@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    //(1)
    dic = @"hello world";
    id  value = [dic objectForKey:@"key"];
    //(2)
    mArr = @"hello World";
    id arr = [mArr objectAtIndex:0];
}
@end


//
//  NSString+DFNSStringDebug.h
//  Test
//
//  Created by jie on 2018/5/13.
//  Copyright © 2018年 jie. All rights reserved.
//

#import <Foundation/Foundation.h>

@interface NSString (DFNSStringDebug)
-(void)objectForKey:(NSString*) str;
-(void)objectAtIndex:(NSInteger)intergaer;
@end


//
//  NSString+DFNSStringDebug.m
//  Test
//
//  Created by jie on 2018/5/13.
//  Copyright © 2018年 jie. All rights reserved.
//

#import "NSString+DFNSStringDebug.h"

@implementation NSString (DFNSStringDebug)
-(void) objectForKey:(NSString*) str  {
    assert(NO);   
}
-(void)objectAtIndex:(NSInteger)intergaer{
    assert(NO);    
}
@end

相关文章

网友评论

      本文标题:iOS操作 字典 或者 数组 每次都崩溃到 Main函数

      本文链接:https://www.haomeiwen.com/subject/mhtrdftx.html