ios - 从 Objective-C 的 void 中获取值

标签 ios objective-c json string return

我想从我的 void 方法中获取 json 字符串,让我们看看

-(void) getIDfromMarket{}

我想显示来自 getIDfromMarket 的结果 json,它已经成功了,现在我想将它传递给

-(void)viewDidLoad

该怎么做?这是我的代码

#import "ViewController.h"
@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad
{
    [super viewDidLoad];

    [self getIDfromMarket];
     NSLog(@"ID==",ID);
    // Do any additional setup after loading the view, typically from a nib.
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

//////get global market From JSOn
-(void) getIDfromMarket{
    NSError *error = nil;
    ///set params url to get market localization
    NSData *jsonData = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://someurl"]];
    if (jsonData) {
    id jsonObjects = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers error:&error];
    NSArray *Market = [jsonObjects objectForKey:@"market"];
        NSLog(@"%@", Market);
        if(Market==NULL){
            UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Oh Snap!" message:@"Can't Get Market ID " delegate:self cancelButtonTitle:@"OK" otherButtonTitles: nil];
            [alert show];

        }
    }
    else{

        NSLog(@"Error Fetch Market ID");
 }

}

@end

我想记录 NSLog(@"%@", Market); 而不是在 viewDidLoad 上,该怎么做?

最佳答案

-(NSArray *) getIDfromMarket{
    NSError *error = nil;
    ///set params url to get market localization
    NSData *jsonData = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://someurl"]];
    if (jsonData) {
        id jsonObjects = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers error:&error];
        NSArray *Market = [jsonObjects objectForKey:@"market"];
        NSLog(@"%@", Market);
        if(Market==nil){
            UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Oh Snap!" message:@"Can't Get Market ID " delegate:self cancelButtonTitle:@"OK" otherButtonTitles: nil];
            [alert show];
            return nil;
        } else {
            return Market;
        }
    }
    else{

        NSLog(@"Error Fetch Market ID");
        return nil;
 }

}

关于ios - 从 Objective-C 的 void 中获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12776908/

相关文章:

iPhone如何检查手机是否可以使用 native 邮件应用程序发送/接收邮件?

objective-c - 在 Cocoa/Objective-C 中获取方法签名的类型编码?

java - MongoDB Java 驱动程序

iOS:获取不在 drawRect 中的 CGMutablePath:并将其分配给 CAShapeLayer 的路径

ios - 如何制作具有角度渐变的圆形 UIView

ios - 刷卡中的数组获取第一个元素

javascript - 在javascript中检查json值

java - 如何使用泛型类型解析来自其余调用的 json 列表?

ios - 使用 MVP 模式 iOS 将数据传递给另一个 Controller

ios - NSDate dateFromString 在设备语言更改时返回 nil