对 UIView、其 class 和 UIViewController 的混淆 - xcode iOS objective-c

confusion on UIView, its class and UIViewController - xcode iOS objective-c

ViewController.h

#import <UIKit/UIKit.h>

@interface ScheduleViewingVC : UIViewController

//for the dragged-out UIView
@property (strong, nonatomic) IBOutlet UIView *myUIViewOutlet; 

//to do some drawings on myUIViewOutlet
@property (strong, nonatomic) myUIView *myUIViewClass; 

@end

ViewController.m

#import "ViewController.h"

@implementation ViewController
- (void)viewDidLoad {
    [super viewDidLoad];

    //resize my UIView into a square
    CGRect screenRect = [[UIScreen mainScreen] bounds];
    CGFloat screenWidth = screenRect.size.width;
    CGRect squareFrame = CGRectMake(0, 0, screenWidth, screenWidth);
    _myUIViewOutlet = [[UIView alloc] initWithFrame:squareFrame];
}
@end

如果我运行这个项目,

- (void)drawRect:(CGRect)rect {}

inside myUIViewClass.m 运行s automatically since.. it's linked to myUIViewOutlet.

现在,我需要发送一些数据到 myUIViewClass 链接到 myUIViewOutlet 来自 ViewController.

从ViewController向myUIViewOutlet发送数据似乎不对.. 我怎样才能使它正常工作?我应该将数据发送到 myUIViewClass 吗?

谁能帮我说清楚?谢谢!

发送数据到myUIViewClass会不对。相反,您可以实现一些协议(委托、数据源类型)的机制。

您可以做的事情如下:

  1. 在您的 myUIView class.
  2. 中定义一些自定义协议 myUIViewProtocol
  3. 定义您需要的委托和方法。
  4. 让您的 ViewController 遵守此协议并覆盖此方法。

此方法与 UITableView.

希望对您有所帮助。