Question: My model comes from Core Data.
My beans have images stored in the model as NSData.

To display my images, I need to do :

```
[UIImage imageWithData:bean.imageData] 

```

Is it OK if I do that everywhere ? I mean, from view #1 I display image by creating [UIImage imageWithData:], then I go on view #2 where I need to display the same image, but I only pass the bean between the 2 views, so I recreate the UIImage with [UIImage imageWithData].

I am wondering whether it takes too many CPU or memory if I do this... Do I need to manage a cache myself ? I think this might be quite common use case with CoreData so is there a common pattern to handle this ?

Answer: 
The `font-awesome.css` file sets `display: inline` for your selector: `[class^="icon-"],
[class*="icon-"]`. You can see this at line 161 of the CSS file:

```
[class^="icon-"],
  [class*=" icon-"] {
  display: inline;
  width: auto;
  height: auto;
  line-height: normal;
  vertical-align: baseline;
  background-image: none;
  background-position: 0% 0%;
  background-repeat: repeat;
  margin-top: 0;
} 

```

Therefore you need to set the `.widgetbox [class*="icon-"]` to have a property `display: block;`
<http://jsfiddle.net/88g5P/6/>

EDIT: after looking up the differences between `display:block;` and `display:inline-block;`, I came upon this [simple visual answer on Stack overflow](https://stackoverflow.com/questions/8969381/what-is-the-difference-between-display-inline-and-display-inline-block/14033814#14033814). Based on this answer, it's probably better to use `display:inline-block`
you need to override the icon's display setting, since the rotation won't work on inline elements

```
.widgetbox [class*="icon-"] {

     ...

     display:block;
}

```