Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何将变量从父类发送到子自定义类_Ios_Objective C_Class_Uiview_Uiviewcontroller - Fatal编程技术网

Ios 如何将变量从父类发送到子自定义类

Ios 如何将变量从父类发送到子自定义类,ios,objective-c,class,uiview,uiviewcontroller,Ios,Objective C,Class,Uiview,Uiviewcontroller,我有一个包含UIView的类文件viewController.h&m的viewController,但UIView有一个自定义类文件drawView.h&m,它在viewController.m中被#import“drawView.m”引用。我想在ViewController.m中设置一个UIColor变量(可以是任何颜色),并在drawView.m中传递和读取它 我知道如何将变量从一个视图控制器类文件传递到另一个视图控制器类文件,但它的工作方式似乎与将变量传递到UIView类文件的方式不同。请

我有一个包含UIView的类文件viewController.h&m的viewController,但UIView有一个自定义类文件drawView.h&m,它在viewController.m中被#import“drawView.m”引用。我想在ViewController.m中设置一个UIColor变量(可以是任何颜色),并在drawView.m中传递和读取它


我知道如何将变量从一个视图控制器类文件传递到另一个视图控制器类文件,但它的工作方式似乎与将变量传递到UIView类文件的方式不同。请提供帮助。

您可以使用UserDafaults在
ViewController
中保存
UIColor
,并获取颜色并在自定义类
UIView
中使用

检查以下代码:

UIColor
保存到
UserDafaults

NSData *colorData = [NSKeyedArchiver archivedDataWithRootObject:[UIColor blueColor]];
[[NSUserDefaults standardUserDefaults] setObject:colorData forKey:@"myColor"];
UserDafaults
获取
UIColor
,如下所示:

NSData *colorData = [[NSUserDefaults standardUserDefaults] objectForKey:@"myColor"];
UIColor *color = [NSKeyedUnarchiver unarchiveObjectWithData:colorData];
[self.txtMobNo.layer setBorderColor:[color CGColor]];

尝试在ViewController viewWillApear或viewDidLoad中或viewWillApear或viewDidLoad之后设置颜色,以确保正确加载drawView

-(void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];

   // Any color that u want to use
   UIColor * color =[UIColor redColor];

   if([self.drawView)
   {
      // applyeColor is drawview's custom method
      [self.drawView applyColor:color];
  }
  else
  {
   NSlog (@"drawView is nil");
  }
}
请编辑您的问题以显示相关代码。