OC基础

1. @synthesize
    *用在@implementation
    *用来自动生成setter和getter方法的实现
    *用@synthesize age = _age;就可以代替
- (int)age
{
    return _age;
}
- (void)setAge:(int)age
{
    _age = age;
}


2. @synthesize的细节
    1> @synthesize age = _age;
       *setter和getter实现中会访问成员变量_age
       *如果如果成员变量不存在,就会自动生成一个@private的成员变量_age
    2> @synthesize age;
       *setter和getter方法中会访问变量age
       *如果成员变量age不存在,就会子自动生成一个@private的成员变量age
    3> 手动实现
       *若手动实现了setter方法,编译器就会自动生成getter方法
       *若手动实现了getter方法,编译器就会自动生成setter方法
       *若同时实现setter和getter方法,编译器就不会自动生成不存在的成员变量了

3. @property新特性
       1>自从XCode4之后,@property就独揽了@synthesize的功能,也就是说@property可以同时生成setter和getter的声明和实现
       2>默认情况下,setter和getter方法中的实现,会去访问下划线_开头的成员变量

4. 构造方法
1>init方法的重写
- (instancetype)init
{
    if([self = [super init]){
        _age = 10;
    }
    return self;
}
2>自定义构造方法
- (instancetype)initWithName:(NSString *)name
{
    if([self = [super init]){
        _name = name;
    }
    return self;
}


5. SEL
表示方法的存储位置,每个类的方法列表都存储在类对象中,每个方法都有一个与之对应的sel类型的对象,根绝一个
SEL对象就可以找到方法的地址,进而调用方法。
1> 创建SEL对象
SEL s = @selector(test);
SEL s2 = NSSelectorFromString(@"test");
2> SEL对象的其它用法
// 将SEL对象转为NSString对象
NSString *str = NSStringFromSelector(@selector(test));

// 调用对象p的test方法
Person *p = [Person new];
[p perfromSelector:@selector(test)];
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
TTL(Transistor-Transistor Logic)是一种数字电路家族,它采用晶体管作为主要的开关元件。TTL电平指的是逻辑电平,即高电平和低电平。在TTL电路中,当输入电压超过某一阈值(通常为0.8V),输出端就会被拉低,表示为低电平;当输入电压低于该阈值时,输出端则为高电平。这种电平转换方式可保证电路输入和输出之间的准确逻辑关系。 CMOS(Complementary Metal-Oxide-Semiconductor)是一种数字电路家族,它采用MOS(Metal-Oxide-Semiconductor)晶体管作为主要的开关元件。与TTL不同的是,CMOS电平和TTL电平的定义方式有所差异。在CMOS电路中,当输入电压低于某一阈值(通常为1/2 VCC),输出端会被拉低,表示为低电平;当输入电压超过该阈值时,输出端则为高电平。CMOS电路具有低功耗、高噪声抑制能力和较高的抗干扰能力等优点。 OC门(Open Collector Gate)是一种数字门电路,它具有开漏输出特性。在OC门中,输出端可以连接到外部负载电阻,使得输出端既能输出低电平(当OC门导通时),又能够高阻断(当OC门截止时)。这意味着OC门可以直接与其他门电路或设备组成开漏输出的连接方式,通过挂载上拉电阻,可以实现与其他数字电路的电平适配。 综上所述,TTL和CMOS电平都是用来描述数字电路的逻辑电平,只是它们的电平定义方式稍有不同。而OC门则是一种特殊的数字门电路,具有开漏输出的特性,适用于与其他数字电路的连接和电平适配。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值