iOS程序-使用xib的owner

本文详细介绍了在iOS开发中如何使用NSBundle加载xib文件并将其添加到控制器的view中,通过具体代码示例展示了如何利用不同对象作为owner来加载和配置视图组件,深入解析了owner机制背后的代理模式。

1.添加绿色的view,MJViewController对象作为owner

    NSArray *array = [[NSBundle mainBundle] loadNibNamed:@"MyView" owner:self options:nil];    

    UIView *greenView = array[0];

    [self.view addSubview:greenView];

2.添加蓝色的view,Dog对象作为owner

    UIView *blueView = [[NSBundle mainBundle] loadNibNamed:@"HisView" owner:_d2 options:nil][0];

    blueView.center = CGPointMake(160, 200);

    [self.view addSubview:blueView];

3.owner的机制为代理模式

方法/步骤

    • 1
      MJViewController.h


      #import <UIKit/UIKit.h>

      @interface MJViewController : UIViewController

      - (IBAction)leftClick;
      - (IBAction)rightClick;

      @end
    • 2
      MJViewController.m


      #import "MJViewController.h"
      #import "Dog.h"

      @interface MJViewController ()
      {
          Dog *_d1;
          Dog *_d2;
      }
      @end

      @implementation MJViewController

      - (void)viewDidLoad
      {
          [super viewDidLoad];
          
          // 1.加载xib文件
          NSArray *array = [[NSBundle mainBundle] loadNibNamed:@"MyView" owner:self options:nil];
          
          UIView *greenView = array[0];
          
          // 2.添加到控制器的view里面去
          [self.view addSubview:greenView];
          
          // 3.
      //    UIButton *left = (UIButton *)[greenView viewWithTag:10];
      //    [left addTarget:self action:@selector(leftClick) forControlEvents:UIControlEventTouchUpInside];
      //    
      //    UIButton *right = (UIButton *)[greenView viewWithTag:20];
      //    [right addTarget:self action:@selector(rightClick) forControlEvents:UIControlEventTouchUpInside];
          
          _d1 = [[Dog alloc] init];
          _d1.age = 10;
          
          _d2 = [[Dog alloc] init];
          _d2.age = 20;
          
          // 添加蓝色的view
          UIView *blueView = [[NSBundle mainBundle] loadNibNamed:@"HisView" owner:_d2 options:nil][0];
          blueView.center = CGPointMake(160, 200);
          [self.view addSubview:blueView];
      }

      - (void)leftClick
      {
          NSLog(@"left------");
      }

      - (void)rightClick
      {
          NSLog(@"right------");
      }
      @end
    • 3
      Dog.h


      #import <Foundation/Foundation.h>

      @interface Dog : NSObject

      @property (nonatomic, assign) int age;

      - (IBAction)btnClick;
      @end
    • 4
      Dog.m


      #import "Dog.h"

      @implementation Dog
      - (void)btnClick
      {
          NSLog(@"%d岁的狗在汪汪.....", _age);
      }

      /*
      - (NSArray *)loadNibNamed:(NSString *)name owner:(id)owner options:(NSDictionary *)options
      {

          // 解析HisView.xib文件 

          //   创建Objects下面的所有对象
          // 创建view
          UIView *blue = [[UIView alloc] init];
          blue.backgroundColor = [UIColor blueColor];
          //....设置其他属性

          // 创建按钮
          UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
          [btn setTitle:@"我是按钮" forState:UIControlStateNormal];
          [btn addTarget:owner action:@selector(btnClick) forControlEvents:UIControlEventTouchUpInside];
      //    ....设置其他属性
          
          [blue addSubview:btn];
          
          // 创建文本输入框
          UITextField *field = [[UITextField alloc] init];
          // ... 设置其他属性
          
          return @[ blue, field];
      }
       
       */

      @end
    • 5
      MyView.xib
    • 6
      HisView.xib

转载于:https://www.cnblogs.com/ChouDanDan/p/5054960.html

内容概要:本文系统阐述了企业新闻发稿在生成式引擎优化(GEO)时代下的全渠道策略与效果评估体系,涵盖当前企业传播面临的预算、资源、内容与效果评估四大挑战,并深入分析2025年新闻发稿行业五大趋势,包括AI驱动的智能化转型、精准化传播、首发内容价值提升、内容资产化及数据可视化。文章重点解析央媒、地方官媒、综合门户和自媒体四类媒体资源的特性、传播优势与发稿策略,提出基于内容适配性、时间节奏、话题设计的策略制定方法,并构建涵盖品牌价值、销售转化与GEO优化的多维评估框架。此外,结合“传声港”工具实操指南,提供AI智能投放、效果监测、自媒体管理与舆情应对的全流程解决方案,并针对科技、消费、B2B、区域品牌四大行业推出定制化发稿方案。; 适合人群:企业市场/公关负责人、品牌传播管理者、数字营销从业者及中小企业决策者,具备一定媒体传播经验并希望提升发稿效率与ROI的专业人士。; 使用场景及目标:①制定科学的新闻发稿策略,实现从“流量思维”向“价值思维”转型;②构建央媒定调、门户扩散、自媒体互动的立体化传播矩阵;③利用AI工具实现精准投放与GEO优化,提升品牌在AI搜索中的权威性与可见性;④通过数据驱动评估体系量化品牌影响力与销售转化效果。; 阅读建议:建议结合文中提供的实操清单、案例分析与工具指南进行系统学习,重点关注媒体适配性策略与GEO评估指标,在实际发稿中分阶段试点“AI+全渠道”组合策略,并定期复盘优化,以实现品牌传播的长期复利效应。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值