点语法的知识点

今天脑子发晕,有个效果一直没有出来 看了半天代码觉得没什么问题 逻辑什么的都是对的啊  然后  在快要崩溃的时候  我发现原来是点语法的错误:

之前错误的写法:

- (void)setSelected:(BOOL)selected

{

    if (selected == YES) {

        _selectedIcon.hidden = NO;

    }else{

        _selectedIcon.hidden = YES;

    }

    [super setSelected:selected];

}

正确的写法:

- (void)setSelected:(BOOL)selected

{

    if (selected == YES) {

        self.electedIcon.hidden = NO;

    }else{

        self.selectedIcon.hidden = YES;

    }

    [super setSelected:selected];

}

//懒加载

- (UIImageView *)selectedIcon
{
    if (_selectedIcon == nil) {

        _selectedIcon = [[UIImageView alloc]initWithFrame:CGRectMake((self.width-55*[UIScreen mainScreen].bounds.size.width/375)/2, (self.height-55*[UIScreen mainScreen].bounds.size.width/375)/2-20, 55*[UIScreen mainScreen].bounds.size.width/375, 55*[UIScreen mainScreen].bounds.size.width/375)];
        _selectedIcon.clipsToBounds = YES;
        _selectedIcon.layer.cornerRadius = 55*([UIScreen mainScreen].bounds.size.width/375)/2;
        _selectedIcon.backgroundColor = [UIColor colorWithWhite:0 alpha:0.7];
        _selectedIcon.contentMode = UIViewContentModeCenter;
        _selectedIcon.image = [UIImage imageNamed:@"interest_page_selected_icon"];
        _selectedIcon.hidden = YES;

        [self addSubview:_selectedIcon];
  }
    return _selectedIcon;
}

看着两个代码作用是一样的 但是涉及到点语法  所以差别挺大的:点语法的本质是调用get方法和set方法。同时点语法会调用懒加载 下划线的方法不会!!

三四个小时的时间都在找问题所在  这是个很小的点 很容易忽略 同时也是很重要的一个点  希望不要再犯类似错误!!!!

时间: 2024-10-24 16:28:44

点语法的知识点的相关文章

Java进击C#——语法之知识点的改进

本章简言 上一章我们讲到关于面向对象思想上C#和JAVA之差别.笔者分别从面向对象的三大特性入手.而本章主要讲一些C#改进的知识点.在.NET Framework 2.0之后出现很多新的知识点.这些知识点更是让C#在写法上更加的多样性.有些写法还真的让笔者觉得很有不错.由于这一部分的知识更多是C#独有的.很有难用JAVA这边的知识来讲.所以这章可能会纯C#了.虽然在JAVA 7 和JAVA 8中出现很多特性.可惜笔者却没有认真的学习一下新特性. 初始化语法的改进 一.类的初始化方式.类初始化的时

语法之知识点的改进(Func/Action)

上一章我们讲到关于面向对象思想上C#和JAVA之差别.笔者分别从面向对象的三大特性入手.而本章主要讲一些C#改进的知识点.在.NET Framework 2.0之后出现很多新的知识点.这些知识点更是让C#在写法上更加的多样性.有些写法还真的让笔者觉得很有不错.由于这一部分的知识更多是C#独有的.很有难用JAVA这边的知识来讲.所以这章可能会纯C#了.虽然在JAVA 7 和JAVA 8中出现很多特性.可惜笔者却没有认真的学习一下新特性. 初始化语法的改进 一.类的初始化方式.类初始化的时候,增加了

Swift基本语法简单知识点总结

1.var的可选项的默认值是 let是没有默认值 2.可选项的判断: 1>  if  let  系统会自己定义一个变量记录他,仅仅在{}当中使用,也可以使用if let进行连续的判断 例如:if let on = one,let to = two{} 2>使用guard对可选项进行判断 guard let u= url  else{   return}  定义的变量u可以在{}的外部使用 3>注意点:if let不能与|| $$等条件进行判断,使用where可以使用||   &&

java基础语法小知识点总结:(一次小测试)

1.JAVA标识符的规则是这样的 标识符由字母.数字.下划线“_”.美元符号“$”或者人民币符号“¥”组成,并且首字母不能是数字.也就是说除了_ $ ¥这3个符号外,标识符只能有数字和字母,什么括号,这样那样的都不是标识符的组成部分. 不能把关键字和保留字作为标识符. 标识符没有长度限制. String $1; String Y2; String idfkd$fff; String adkYdkjk; String _djfkdj; String dkjfkdj_dfe; String f444

【托业】【新托业全真模拟】疑难语法题知识点总结(01~05)

03 ? customer satisfaction survey 客户满意度调查 ? 修饰酒店的品质用superior(表示在品质上更好的) 而更好于better ? be entitled to +名词/动名词/动词原形(有获得……的权利) ? only if 只要:as if 好像, 似乎, 仿佛; ? as+adj./adv.+as (尽可能……)——详解:(as adj as ——其中adj形容句子中的n.,as adv. as——其中adv.形容句子中的v.) ? 同样表达保持,持久

java学习——第二章《java语法》

语法重要知识点 8种基本数据类型:byte,short,int,long,double,float,char,boolean(1,2,4,8,4,8,2byte). 明确标识符,关键字,变量,常量的含义. 运算符:赋值运算符,算术运算符,比较运算符,逻辑运算符,位运算符,三元运算符(? :). 类型转换. 代码注释. 流程控制重要知识点 条件语句(if语句,switch语句(可以使用整形,字符型,字符串)) 循环语句(while,for,foreach) 练习: 用for循环打印菱形 publi

第02章(基本语法)

1 /***************** 2 ***第二章基本语法 3 *******知识点: 4 **************1.注释 5 ******************1.1 单行注释 6 ******************1.2 多行注释 7 **************2.标识符.关键字 8 **************3.基本数据类型 9 ******************3.1 整型 10 ******************3.2 浮点型 11 *************

Python自动化开发第一周知识点

知识点一:变量 1.变量名可以包括字母.数字.下划线,但是数字不能做为开头.例如:name1是合法变量名,而1name就不可以. 2.系统关键字不能做变量名使用 3.Python推荐使用XX_XX_XX形式起名 4.Python没有常量概念(如C++使用const定义一个常量) 5.Python表示常量用大写单词表示(但是实际上可以被修改) ------------------------------------------------------------------------------

SQL SERVER

阅读目录(Content) 1 背景 1.1 报警情况 1.2 如何监控 2 分析 3 解决 回到顶部(go to top) 1 背景 1.1 报警情况 最近整理笔记,打算全部迁移到EVERNOTE.整理到锁这一部分,里边刚好有个自己记录下来的案例,重新整理分享下给大家. 某日中午,收到报警短信,DB死锁异常,单分钟死锁120个. 死锁的xml文件如下: 1 <deadlock-list> 2 <deadlock victim="process810b00cf8"&g