• 纪录近期遇到的问题


    1.局部变量必须初始化。在objective-C中成员变量会被自动初始化,根据变量类型自动被置为0,nil, NO等。但是局不变量需要手动初始化,这个类似于C/C++语言。

    2.self和super的区别。self表示的是只想当前对象的指针,而super并不是指向父类的指针,而只是一个编译器的指令符号,在编译的时候被展开为如下这种形式:struct objc_super {
    id receiver;
    SuperClass class;
    }; id表示self指针,SuperClass表示父类。所以super存在于self的上下文中,相对于self而言。

    3.convertRect的方法的使用小结。当动画涉及到更改UIView的大小和transform时,使用convertRect将得不到正确的frame大小。另外,convertRect的使用形式如下:[self convertRect:self.bounds]和 [self.superView convertRect:self.frame],差别主要在传递CGRect时传递bounds或者frame。

    4.分类的用法。尽量为分类中的方法添加前缀名,避免分类与原来的类、原来的类的扩展和同一个类(父类)的其他分类具有相同的方法名,如果存在同名的话,系统则任意调用其中的一个。就是说某个类的当前扩展以及其父类中的扩展不能存在同名的方法名,否则将导致执行紊乱。并且如果使用分类重写系统中的某个类的某个方法,则无论是否包括该扩展,该扩展中的方法都有可能被调用。

    5.UILabel与fontSize的关系。一般至少将UILabel的高度设为sizeFont的高度加4,否则英文字体很容易被截断,中文显示无压力。

    6.UIView的animateWithDuration:delay:options:animations:completion:的问题。通过这个方法改变UIView的transform在iOS5和iOS6上表现有所不同,其实就是iOS5可能存在问题,所以当需要更改transform时,请尽量使用CABasicAnimation这个技术。

  • 相关阅读:
    Educational Codeforces Round 10 C. Foe Pairs 水题
    Educational Codeforces Round 10 B. z-sort 构造
    CDOJ 1048 Bob's vector 三分
    Educational Codeforces Round 10 A. Gabriel and Caterpillar 模拟
    第14届电子科大初赛民间盗版部分题目题解
    HDU 5654 xiaoxin and his watermelon candy 离线树状数组 区间不同数的个数
    HDU 5653 Bomber Man wants to bomb an Array. dp
    HDU 5652 India and China Origins 二分+并查集
    HDU 5651 xiaoxin juju needs help 数学
    HDU 5650 so easy 数学
  • 原文地址:https://www.cnblogs.com/CoderPlace/p/3313508.html
Copyright © 2020-2023  润新知