Возможно, это неправильный путь, но мне кажется, что такой чистый и работоспособный подход, что мне интересно, как я могу убрать предупреждение компилятора?
@interface SomeView : UIView {
NSString *stringOfsomeImportance;
RelatedClass *niftyService;
}
@property (nonatomic, copy) NSString * stringOfnoImportance;
@property (nonatomic, retain) RelatedClass *niftyService;
@implementation
-(void)someMethod;
-(void)otherMethods;
@implementation RelatedClass *pvSomeObj = [[RelatedClass alloc] initWithSender:self];
[self setNiftyService:pvSomeObj];
Теперь рассмотрим реализации RelatedClass ...
@interface RelatedClass : NSObject {
id thesender;
@property (nonatomic, retain) id thesender;
@implementation
[thesender otherMethods]; // this generates a compiler warning
// that otherMethods cannot be found
// in SomeView, though it *is* found
// and seems to execute just fine
Это похоже на правильный подход, так что мне интересно, почему предупреждение?
Есть ли способ лучше "объяснить" это компилятору?
Может ли кто-нибудь поделиться, если этот тип связи поощряется или если есть лучший способ связать два взаимосвязанных, взаимозависимых класса, которые должны общаться друг с другом?
Я не могу статически объявить объект отправителя (SomeView) в RelatedClass, потому что это, кажется, вызывает проблему рекурсии, так как SomeView определено с RelatedClass в качестве члена ...
Есть предложения?