-->

的NSString的值返回null,但不确定为什么呢?(Value of NSString retu

2019-10-30 03:30发布

我已经把我的NSString的所谓“FID”到responseObject(见下文)的值。 responseObject返回我想在NSLog'd,但由于某些原因,当我的NSLog FID进一步下跌,这是空的数据。 我缺少的东西吗? 见代码:

。H

@property (nonatomic, assign) NSString *fid;

.M

[DIOSFile fileSave:file success:^(AFHTTPRequestOperation *operation, id responseObject) {
    NSLog(@"File uploaded!");

    [file setObject:[responseObject objectForKey:@"fid"] forKey:@"fid"];
    [file removeObjectForKey:@"file"];

 fid = [responseObject objectForKey:@"fid"];
        NSLog(@"%@",responseObject);

 } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
     NSLog(@"Failed to upload file!");
  }];

    NSDictionary *bodyValues = [NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:_itemDescrip.text, nil] forKeys:[NSArray arrayWithObjects:@"value", nil]];
    NSDictionary *languageDict = [NSDictionary dictionaryWithObject:[NSArray arrayWithObject:bodyValues] forKey:@"und"];
    [nodeData setObject:languageDict forKey:@"body"];

    [nodeData setObject:@"storage_item" forKey:@"type"];

    NSMutableDictionary *dict = [NSMutableDictionary dictionary];

    [dict setObject: [NSString stringWithFormat:@"%@", fid] forKey:@"fid"];
    NSLog(@"%@", fid);

    NSDictionary *fidLangDict = [NSDictionary dictionaryWithObject:[NSArray arrayWithObject:dict] forKey:@"und"];

    [nodeData setObject:fidLangDict forKey:@"field_photo"];

    [DIOSNode nodeSave:nodeData success:^(AFHTTPRequestOperation *operation, id responseObject) {
        NSLog(@"Node saved!");


    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
        NSLog(@"Node did not save!");
    }];

Answer 1:

你调用一个异步方法。

日志声明“再往下”早已完成的FileSave方法之前执行。 的FileSave的两个回调将被称为某个时候在遥远的未来(可能是许多秒从现在起)。

无论你想这样做,需要FID必须的FileSave完成模块来完成。



文章来源: Value of NSString returns null, but unsure why?