Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 为什么调用另一个函数时会丢失数据集信息_Objective C_Xcode6_Uipickerview_Nsorderedset - Fatal编程技术网

Objective c 为什么调用另一个函数时会丢失数据集信息

Objective c 为什么调用另一个函数时会丢失数据集信息,objective-c,xcode6,uipickerview,nsorderedset,Objective C,Xcode6,Uipickerview,Nsorderedset,为什么传感器数据集信息会被删除或有时信息会消失 在应用程序中,我得到了一个JSON格式的字符串,因此我使用一个NSOrderedSet根据我从键接收到的信息对数据进行排序,如方法“finishedReceivingData”中所示但是,当我使用该传感器数据集填充拾取的列表时,存储在传感器数据集中的信息清除垃圾或其他信息会出现 感谢有人能告诉我为什么在其他方法中调用SensorDeredSet时会删除信息,比如我调用pickerView方法“numberOfRowsInComponent” h “

为什么传感器数据集信息会被删除或有时信息会消失

在应用程序中,我得到了一个JSON格式的字符串,因此我使用一个NSOrderedSet根据我从键接收到的信息对数据进行排序,如方法“finishedReceivingData”中所示但是,当我使用该传感器数据集填充拾取的列表时,存储在传感器数据集中的信息清除垃圾或其他信息会出现

感谢有人能告诉我为什么在其他方法中调用SensorDeredSet时会删除信息,比如我调用pickerView方法“numberOfRowsInComponent”

h

“finishedReceivingData”中的deptoArray日志

2014-11-30 18:40:33.976萨鲁德总计[2629:132519]单名:( “波哥大\U00e1 DC”, 安蒂奥基亚, 大西洋 )

“numberOfRowsInComponent”中的deptoArray日志 2014-11-30 18:42:27.279萨鲁德总计[2629:132519]数据:{ }

或 消息:TEAD 1:EXC\U坏访问(代码=EXC\U I386\U GPFLT) 或
2014-11-30 18:44:34.311 Salud Total[2650:133534]数据:(无索引)

感谢您的大力支持,如果没有这个名为“google”的神奇工具,我意识到我错了,Deredset引用显然将其用作指向接收到的数据的指针,而不是另一个缓冲区

首先,我将NSOrderedSet更改为NSArray,然后

我换衣服

deptoArray=[NSOrderedSet orderedSetWithArray:[json valueForKey:@"Nombre"]];
为了

和工作


请不要将我限定为负面,我将阻止我提问,我是新来的,这个论坛是一个很好的帮助工具

因此,numberOfRowsInComponent中的NSLog到底向您展示了什么?您在多少不同的地方创建了attentionCenterViewController的实例?我编辑了这个问题,并在日志中添加了我得到的内容。在我看来,这就像一个僵尸问题。有一个叫做“Google”的神奇工具。(如果你用Objective-C编写代码,你就是在和大孩子玩耍,你应该知道如何照顾自己。)
#import "attentionCenterViewController.h"
#import "RestConnection.h"

@interface attentionCenterViewController (){
    NSString *service;
}

@end

@implementation attentionCenterViewController

#define baseURL @"http://another url"
#pragma mark Setup and Teardown Methods

- (void)viewDidLoad {
    [super viewDidLoad];
    restConnection = [RestConnection new];
    restConnection.baseURLString = baseURL;
    restConnection.delegate = self;
    viewList.hidden=true;
}

- (void)dealloc {
    [restConnection release];
    [txtDepto release];
    [txtCity release];
    [txtAttent release];
    [viewList release];
    [pvList release];
    [super dealloc];
}


#pragma mark RestConnectionDelegate

- (void)finishedReceivingData:(NSData *)data
{
    encodData = [[restConnection stringData] dataUsingEncoding:NSUTF8StringEncoding];
    json = [NSJSONSerialization JSONObjectWithData:encodData options:0 error:nil];
    NSLog(@"Diccionario JSON: %@", json);
    if ([service isEqual:@"Depto"]) {

        //In this place full array

        _deptoArray=[NSOrderedSet orderedSetWithArray:[json valueForKey:@"Nombre"]];
        NSLog(@"solo nombre: %@", _deptoArray);
        pvList.delegate=self;
        viewList.hidden=false;
    }
}


- (IBAction)cbDepto:(id)sender {
    NSString *urlString = [NSString stringWithFormat:@"ConsultaDepartamentos"];
    [restConnection performRequest:
    [NSURLRequest requestWithURL:
    [NSURL URLWithString:urlString]]];
    service=@"Depto";
}

-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{
    return 1;
}

-(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{

    if ([service isEqualToString:@"Depto"]) {
        NSLog(@"en el picket: %@", _deptoArray);
        NSLog(@"data: %@", encodData);
        return [_deptoArray count];

    }else{
        return 0;
    }

}

@end
deptoArray=[NSOrderedSet orderedSetWithArray:[json valueForKey:@"Nombre"]];
deptoArray=[[NSArray alloc]initWithArray:[json valueForKey:@"Nombre"]];