iOS新手开发学习错误集锦与解决办法-个人记录

===================用于长期记录iOS开发中遇到的问题和解决方法===================

1.JSON文件解析错误 =========================================== 

JSON文件内容:[{"status":1}]

问题 :取出status == nil

解决:获得数组后,取出为字典类型,再进行读取

NSArray *arrayLoginJSON = [NSJSONSerialization JSONObjectWithData:[content dataUsingEncoding:NSUTF8StringEncoding] options:NSJSONReadingAllowFragments error:nil];

    

    

    NSDictionary *dict = [arrayLoginJSON objectAtIndex:0];

    NSNumber *num = [dict objectForKey:@"status"];

    

    NSLog(@"status == %@",num);

输出为1


2.NSMutableArray循环添加对象,覆盖问题 =========================================== 

问题:对NSMutableArray赋值后,输出,只有最后一个对象的信息

原因:JWdataModels *dataModel = [[JWdataModels allocinit];应该写在for循环里面,不然只是咋外面创建了一个对象,放到里面就会创建自己的对象

JWdataModels *dataModel = [[JWdataModels alloc] init];


        //self.array中有4个字典对象

    for (NSDictionary *dict in self.array) {

      

 

        dataModel.hydrant_id = [dict objectForKey:@"hydrant_id"];

        dataModel.area_id = [dict objectForKey:@"area_id"];

        dataModel.node_id = [dict objectForKey:@"node_id"];

        dataModel.address = [dict objectForKey:@"address"];

        [self.dataModelArray addObject:dataModel];

}


3.NSMutableArray循环添加对象,得到结果为空的数组 =========================================== 

self.childViewControllers为可变数组

for (int i =0; i<4; i++) {

            UIViewController *vc = [[UIViewController alloc] init];

            vc.view.backgroundColor = [UIColor colorWithRed:arc4random_uniform(255)/255.0 green:arc4random_uniform(255)/255.0 blue:arc4random_uniform(255)/255.0 alpha:1];

            

            [self.childViewControllers addObject:vc];

        }

解决:没有初始化数组,需要初始化后才能使用

        self.childViewControllers = [NSMutableArray array];




4.mac设置本地服务器apache后,app访问不到 =========================================== 
解决:手机需要和主机连接同一个网络。



5.#define WeakSelf __weak typeof(self) weakSelf = self;在block或懒加载防止循环引用

    __weak __typeof(&*self)weakSelf = self;


    __weak __typeof(&*self)weakSelf = self;

    __weak __typeof(&*self)weakSelf = self;



猜你喜欢

转载自blog.csdn.net/ljw2017/article/details/79880499