您的位置:首页 > 移动开发 > IOS开发

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

2018-04-10 14:12 281 查看

===================用于记录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 alloc] init];应该写在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;

 

 

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐