how to use delegates with Automatic Reference Counting

"ivar" means "instance variable", which you have not shown. I'm betting it looks something like this:

@interface Foo : NSObject {
    id delegate;
}

@property (weak) id delegate;

What the error is saying is that it must look like this:

@interface Foo : NSObject {
    __weak id delegate;
}

@property (weak) id delegate;

If the property claims to be weak, the ivar that the value ends up being stored in must be weak as well.