簡體   English   中英

使用鍵值編碼(KVC)獲取UIImage,但在為其設置圖片時不起作用

[英]Using key-value coding (KVC) to obtain a UIImage but doesn't work when setting picture to it

我的代碼:

for (int index = 1; index < [[firstPageJSONData objectForKey:@"pillars"] count] ; index++) {
        NSString *rotaryName = [NSString stringWithFormat:@"rotaryImage%d", index];
        UIImage *rotaryWheel = [self.wheelView valueForKey:rotaryName];
        NSString *urlStringImage2 = [[[firstPageJSONData objectForKey:@"pillars"] objectAtIndex:index] objectForKey:@"image_url"];
        NSData *imageData2 = [[NSData alloc] initWithContentsOfURL: [NSURL URLWithString: urlStringImage]];
        rotaryWheel =  [UIImage imageWithData: imageData];
    }

但是這段代碼可以工作,但是它太長了,看起來很可怕。

        NSString *urlStringImage = [[[firstPageJSONData objectForKey:@"pillars"] objectAtIndex:0] objectForKey:@"image_url"];
        NSData *imageData = [[NSData alloc] initWithContentsOfURL: [NSURL URLWithString: urlStringImage]];
        self.wheelView.rotaryImage1 = [UIImage imageWithData:imageData];
        NSString *urlStringImage = [[[firstPageJSONData objectForKey:@"pillars"] objectAtIndex:1] objectForKey:@"image_url"];
        NSData *imageData = [[NSData alloc] initWithContentsOfURL: [NSURL URLWithString: urlStringImage]];
        self.wheelView.rotaryImage2 = [UIImage imageWithData:imageData];

我也需要做12次!

改變如下

for (int index = 1; index < [[firstPageJSONData objectForKey:@"pillars"] count] ; index++) {
    NSString *rotaryName = [NSString stringWithFormat:@"rotaryImage%d", index];
    NSString *urlStringImage2 = [[[firstPageJSONData objectForKey:@"pillars"] objectAtIndex:index] objectForKey:@"image_url"];
    NSData *imageData2 = [[NSData alloc] initWithContentsOfURL: [NSURL URLWithString: urlStringImage]];
    [self.wheelView setValue:[UIImage imageWithData: imageData] forKey:rotaryName];
}

編輯:

for (int index = 1; index < [[firstPageJSONData objectForKey:@"pillars"] count] ; index++) {
    NSString *rotaryName = [NSString stringWithFormat:@"rotaryImage%d", index];

    NSString *urlStringImage2 = [[[firstPageJSONData objectForKey:@"pillars"] objectAtIndex:index] objectForKey:@"image_url"];
    NSData *imageData2 = [[NSData alloc] initWithContentsOfURL: [NSURL URLWithString: urlStringImage]];
    rotaryWheel =  [UIImage imageWithData: imageData];

    [[self.wheelView setValue: rotaryWheel forKey: rotaryName];
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM