I'm starting to learn Objective-C and I have a question:

When you declare the properties of a class, what is the difference between doing this?

FIRST CASE:

```
@interface ViewController : UIViewController 
{
 UILabel *label;
}
@property(nonatomic,retain) UILabel *label;
@end

```

SECOND CASE:

```
@interface ViewController : UIViewController 
{

}
@property(nonatomic,retain) UILabel *label;

@end

```

In the first case, I'm declaring a class with one attribute (UILabel \*label) and later, I'm declaring the properties for that label.

In the second case, I only declare the properties.
I always thought I should declare class attributes.