いくつかのオプションがありますが、そのうちの 2 つは次のとおりです。
1.キャスティング:
@implementation SubviewView
- (void)blah
{
((CustomView *)self.superview).property = ...`
}
@end
2. 代表者:
@protocol SubviewViewDelegate
- (void)customView:(SubView *)sv modified:(...)value;
@end
@class SubView
@property (nonatomic, weak) id <CustomViewDelegate> delegate;
@end
@implementation SubviewView
- (void)blah
{
[self.delegate subView modified:...];
}
@end
@implementation CustomView
- (void)subView:(SubView *)sv modified:(...)value
{
self.property = value;
}
@end
2 番目のオプションはより多くのコードですが、多くの場合、より適していると思います。デリゲートを使用すると結合が減り、デメテルの法則とうまく機能します。詳細については、このドキュメントを参照してください。