Assigning retained object to weak variable; object will be released after assignment.

すぐに解放されるから代入する意味が無い的な事っぽい。

ゴリ押しでいいなら、ローカル変数に一度代入したものを入れると警告はなくなる。

// ここで警告が出る
yourWarningValue = [[YourClass alloc] init];

// ↓こうすると警告は消える

YourClass* newvalue = [[YourClass alloc] init];
yourWarningValue = newvalue;