iOS小知识点总结


iOS中的self访问对象属性和下划线实例变量的区别

具体见:[告诉你使用self.var 和 _var的区别][1]
[1]:http://ios.jobbole.com/84456/

self.是对属性的访问,而下划线是对实例变量的访问。属性用@property关键字声明,它包含了对实例变量读写的get、set方法。在iOS5以后使用@property声明属性时,编译器会自动(@sytheszie var = _var)为我们生成对应的一个以下划线加属性名的实例变量,还有其对应的getter、setter,下划线是包括在变量名里的。


在.m文件中可以通过下划线来访问实例变量,但是getter、setter不会被调用,而来自外部的访问则需要通过getter、setter。


重写get/set方法时不能使用self,不然会进入死循环,因为self访问属性时会触发属性个get/set方法。


一般在开发过程中,在对象内部读取值时,直接通过实例变量来访问(下划线),设置值时,使用属性的setter来赋值(self.)。

@optional和@required的区别

在定义协议时,使用@optional的方法不是必须实现的方法,可选,而使用@required的方法是必须要实现的。

纯代码定义导航栏

在AppDelegate.m文件中添加如下代码:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    
    _window = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];
    _window.backgroundColor = [UIColor whiteColor];
    //自定义的主页
    MainViewController *mainVC = [[MainViewController alloc]init];
    UINavigationController *nav = [[UINavigationController alloc]initWithRootViewController:mainVC];
    _window.rootViewController = nav;
    [_window makeKeyAndVisible];
    
    return YES;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young阅读 9,516评论 1 10
  • 重点掌握 3 类对象和方法 对象就是一个物体 类的独特存在就是一个实例,对实例进行操作叫做方法。方法可以应用于类或...
    Coder大雄阅读 5,078评论 0 2
  • 那一瞬间,心里失落极了。 姐姐一家三口回去婆家了,过年才回来。 表姐跟着舅舅回姥爷家了,w先生也回到了自己的家。 ...
    张小汝阅读 2,707评论 2 4
  • 【北乡子】细雨初停小院幽,茶香袅袅听琴柔。飞思落脚长安外,抬眸,诗中太白踏行舟。洗砚池边梦未收,竹林对弈笑功裘。如...
    风云梅易阅读 3,770评论 1 5

友情链接更多精彩内容