Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/121.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
Ios 如何从NSArray获取imageUrlString_Ios_Ios6 - Fatal编程技术网

Ios 如何从NSArray获取imageUrlString

Ios 如何从NSArray获取imageUrlString,ios,ios6,Ios,Ios6,解析远程XML文件中的元素后,我在NSArray中获得了元素列表及其值。由于数组包含更多这样的元素和值 success; products=<AGSProducts 0x7189020; name='category1';imageIdentifier='1'; imageUrlString='http://myimage.com/images/img1.png'; subProducts=> 请给我一个想法把你的回答转换成字典 NSMutableDictionary *dic =

解析远程XML文件中的元素后,我在
NSArray
中获得了元素列表及其值。由于数组包含更多这样的元素和值

success; products=<AGSProducts 0x7189020; name='category1';imageIdentifier='1'; imageUrlString='http://myimage.com/images/img1.png'; subProducts=>

请给我一个想法

把你的回答转换成字典

NSMutableDictionary *dic = [myString JSONValue];

从dic中,您可以获得
imageUrlString

的值,并在字典中转换您的响应

NSMutableDictionary *dic = [myString JSONValue];

从dic中,您可以获得
imageUrlString

的值警告:这不是最佳做法,但可以做到这一点,而且非常有效

NSString *result = @"";
NSRange r1 = [myString rangeOfString:@"imageUrlString='"];
if(r1.location != NSNotFound)
{
    result = [myString substringFromIndex:r1.location+r1.length];
    NSRange r2 = [result rangeOfString:@"'"];
    if(r2.location != NSNotFound)
    {
        result = [result substringToIndex:r2.location];
    }
    else
    {
        result = @"";
    }
}

NSLog(@"%@", result);

警告:这不是最佳做法,但会起作用,而且很有效

NSString *result = @"";
NSRange r1 = [myString rangeOfString:@"imageUrlString='"];
if(r1.location != NSNotFound)
{
    result = [myString substringFromIndex:r1.location+r1.length];
    NSRange r2 = [result rangeOfString:@"'"];
    if(r2.location != NSNotFound)
    {
        result = [result substringToIndex:r2.location];
    }
    else
    {
        result = @"";
    }
}

NSLog(@"%@", result);
希望这有帮助

编辑2

NSString *string = [myArray description];
NSString *url = nil;
NSScanner *parser = [NSScanner scannerWithString:string];
[parser scanUpToString:@"imageUrlString" intoString:nil];

if (![parser isAtEnd]) {
    [parser scanUpToString:@"=" intoString:nil];
    NSCharacterSet *charset = [NSCharacterSet characterSetWithCharactersInString:@"\"'"];
    [parser scanUpToCharactersFromSet:charset intoString:nil];
    [parser scanCharactersFromSet:charset intoString:nil];
    [parser scanUpToCharactersFromSet:charset intoString:&url];

}

NSLog(@"URL: %@", url);
希望这有帮助

编辑2

NSString *string = [myArray description];
NSString *url = nil;
NSScanner *parser = [NSScanner scannerWithString:string];
[parser scanUpToString:@"imageUrlString" intoString:nil];

if (![parser isAtEnd]) {
    [parser scanUpToString:@"=" intoString:nil];
    NSCharacterSet *charset = [NSCharacterSet characterSetWithCharactersInString:@"\"'"];
    [parser scanUpToCharactersFromSet:charset intoString:nil];
    [parser scanCharactersFromSet:charset intoString:nil];
    [parser scanUpToCharactersFromSet:charset intoString:&url];

}

NSLog(@"URL: %@", url);
试试这个

    //NSArray *arr = [NSArray arrayWithObjects:@"<AGSProducts 0x7189020; name='category1';imageIdentifier='1'; imageUrlString='http://myimage.com/images/img1.png'; subProducts=>", nil];
    //NSString *imgURL= [arr objectAtIndex:0];

    NSString *imgURL=[_xmlProductsResults objectAtIndex:0];

    imgURL = [imgURL substringFromIndex:[imgURL rangeOfString:@"imageUrlString="].location+[@"imageUrlString=" length]+1];
    imgURL = [imgURL substringToIndex:[imgURL rangeOfString:@";"].location-1];
    NSLog(@"%@",imgURL);
//NSArray*arr=[NSArray arrayWithObjects:@',nil];
//NSString*imgURL=[arr objectAtIndex:0];
NSString*imgURL=[\u xmlProductsResults objectAtIndex:0];
imgURL=[imgURL substringFromIndex:[imgURL rangeOfString:@“imageUrlString=“]”。位置+[@“imageUrlString=”长度]+1];
imgURL=[imgURL substringToIndex:[imgURL rangeOfString:@];“]。位置-1];
NSLog(@“%@”,imgURL);
试试看

    //NSArray *arr = [NSArray arrayWithObjects:@"<AGSProducts 0x7189020; name='category1';imageIdentifier='1'; imageUrlString='http://myimage.com/images/img1.png'; subProducts=>", nil];
    //NSString *imgURL= [arr objectAtIndex:0];

    NSString *imgURL=[_xmlProductsResults objectAtIndex:0];

    imgURL = [imgURL substringFromIndex:[imgURL rangeOfString:@"imageUrlString="].location+[@"imageUrlString=" length]+1];
    imgURL = [imgURL substringToIndex:[imgURL rangeOfString:@";"].location-1];
    NSLog(@"%@",imgURL);
//NSArray*arr=[NSArray arrayWithObjects:@',nil];
//NSString*imgURL=[arr objectAtIndex:0];
NSString*imgURL=[\u xmlProductsResults objectAtIndex:0];
imgURL=[imgURL substringFromIndex:[imgURL rangeOfString:@“imageUrlString=“]”。位置+[@“imageUrlString=”长度]+1];
imgURL=[imgURL substringToIndex:[imgURL rangeOfString:@];“]。位置-1];
NSLog(@“%@”,imgURL);


你能说说JSONValue是什么意思吗。仅供参考,我正在使用一个XML文件,它是一个解析器,用于转换dict中的字符串。我在该语句中遇到错误,
JSONValue
,因为
No visible@interface for'NSArray'声明选择器“JSONValue”
我需要为此导入任何内容吗?一个好方法是在字典中获取响应,而不是在需要包含的数组中获取响应jsonparser类。你可以从这个url下载,你能说出JSONValue是什么意思吗。仅供参考,我正在使用一个XML文件,它是一个解析器,用于转换dict中的字符串。我在该语句中遇到错误,
JSONValue
,因为
No visible@interface for'NSArray'声明选择器“JSONValue”
我需要为此导入任何内容吗?一个好方法是在字典中获取响应,而不是在需要包含的数组中获取响应jsonparser类。你可以从这个url下载,做一些字符串操作来获取那个值。做一些字符串操作来获取那个值。不,Bhargavi,获取一个错误
[AGSProduct rangeOfString:]:发送到实例0x7435380的无法识别的选择器
如何从NSArray获取值?如上所示,
myArray
将打印为NSLoglike this
success;products=
我以为您是在从数组访问字符串,但我猜您是如何在NSArray上尝试此操作的。没有bhargavi,我只是尝试解析XML文件并从中获取图像链接。我解析了这些元素并将其放入数组中,然后试图从中获取图像url的sNope Bhargavi,得到一个错误
[AGSProduct rangeOfString:]:未识别的选择器发送到实例0x7435380
如何从NSArray中获取值?如上所示,
myArray
将打印为NSLoglike this
success;products=
我以为您是在从数组访问字符串,但我猜您是如何在NSArray上尝试此操作的。没有bhargavi,我只是尝试解析XML文件并从中获取图像链接。我解析了这些元素并将其抛出数组,然后尝试从中获取图像url的My App get terminate,出现错误
[AGSProduct copyWithZone:]:发送到实例0x71622b0的无法识别的选择器
[AGSProduct objectForKey:]:发送到实例0x719e350的未识别选择器
我的应用程序因错误而终止
[AGSProduct copyWithZone:]:发送到实例0x71622b0的未识别选择器
否因错误而终止
[AGSProduct objectForKey:]:发送到实例0x719e350的未识别选择器
我的应用程序因错误而终止
[AGSProduct rangeOfString:]:发送到实例0x74b45b0的无法识别的选择器
请确保myString是NSString而不是其他类型…请尝试以下操作:NSString*myString=(NSString*)myOldStringObj;我的应用程序因错误而终止
[AGSProduct rangeOfString:]:发送到实例0x74b45b0的无法识别的选择器
请确保myString是NSString而不是其他类型…请尝试以下操作:NSString*myString=(NSString*)myOldStringObj;