【问题标题】:How to Pass an Array within the View Controller that Array data will Coming From JSON?如何在视图控制器中传递数组数据将来自 JSON 的数组?
【发布时间】:2016-01-05 11:08:46
【问题描述】:

我有一个视图控制器,其中包含UIImageViewUILabel。如何使用数组从 JSON 加载图像和数据到标签?这是我的代码

-(void)viewDidLoad 
{
[super viewDidLoad];
NSURLRequest *request = [[NSURLRequest alloc]initWithURL:[NSURL URLWithString:"www.example.com"]];
       connection4 = [[NSURLConnection alloc]initWithRequest:request delegate:self];
      [connection4 start];
}
  -(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
  {
   if (connection == connection4)
    {
    myDataQA = [[NSMutableData alloc]init];
    }
}
 -(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
   {
    if (connection == connection4)
     {
    [myDataQA appendData:data];
     }
  }
  -(void)connectionDidFinishLoading:(NSURLConnection *)connection
  {
   if (connection == connection4)
     {
    NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:myDataQA options:NSJSONReadingAllowFragments error:nil];
    fldExamTitleArray = [dic valueForKey:@"fldexamtitle"];
    fldExamStartArray = [dic valueForKey:@"examdate"];
    ListBannerArray =  [dic valueForKey:@"listBanner"];
   }
 }

在我的代码中,ListBannerArraycontains:

"listbanner":"http:demo.example.com/1.png

【问题讨论】:

    标签: ios uiimageview nsmutablearray uilabel


    【解决方案1】:
     -(void)connectionDidFinishLoading:(NSURLConnection *)connection
       {
         if (connection == connection4)
         {
            NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:myDataQA options:NSJSONReadingAllowFragments error:nil];
           fldExamTitleArray = [dic valueForKey:@"fldexamtitle"];
           fldExamStartArray = [dic valueForKey:@"examdate"];
           ListBannerArray =  [dic valueForKey:@"listBanner"];
    
         for(int i = 0 ; i < ListBannerArray.count;i++)
           {
               UIImage* myImage = [UIImage imageWithData:[NSData dataWithContentsOfURL: [NSURL URLWithString:  [ListBannerArray objectAtIndex: i ]]];
               yourimageview.image = myimage;
              your_Label.text = [fldExamTitleArray objectAtIndex : i];
            }
         }
     }
    

    【讨论】:

      【解决方案2】:

      首先你必须循环你的数组并且数组包含字典。因此,您需要从该字典中获取图像 url。之后,您可以像这样加载图像。

      NSString *ImageURL = @"YourURLHere";
      NSData *imageData = [NSData dataWithContentsOfURL:[NSURL URLWithString:ImageURL]];
      imageView.image = [UIImage imageWithData:imageData];
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-09-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-01-05
        • 1970-01-01
        相关资源
        最近更新 更多