ios菜鸟总结2
这个星期学起oc来可能是最纠结的。话不多说先补充一下上一个星期的快捷键吧。工程导航器:Command+1
显示/隐藏导航器面板:Command+0
.显示/隐藏实用工具面板:Command+Option+0
6.文件跳转栏:Control+6(键入方法/变量名+Enter跳转)
跳转至当前代码文件中的代码行。如果文件中有上千行代码,你可以通过该快捷操作来缩小查找范围,从而在需要的地方插入代码以添加新的功能。
7.快速打开: Command + Shift + O
喜欢使用键盘但不喜欢使用鼠标的人会大爱这个快捷方式,可以直接跳转到某个方法定义或者指定的代码文件。
1.清除工程: Command + Shift + K
或许有那么一次Xcode运行出现问题,或者应用无法响应,或者出现了意料之外的情况,你首先会想要清除工程并再次运行它。如果这样都还不能解决问题,好吧,关掉Xcode重新打开。倘若应用程序无法运行,先看看有没有错误信息提示,你可以发挥作为“Googler”的优势来获得帮助。不过这种做法不易太过频繁,它会降低程序的开发速度。它将移除所有的中间文件,而再造这些文件还要花费时间。当运行失败时清除Xcode工程】
3.文档和参考: Command + Shift + 0 (Zero)
使用Xcode在后台安装文档,并支持离线搜索查看,非常适合外出办公。打开文档和参考,并键入代码中的某个关键字,Xcode文档还提供了一些额外的资源和示例工程。
通过Documentation and Reference指南了解如何使用代码
14. 快速帮助: 在类或者方法名上执行Option + Left-click操作
内联帮助可帮开发者快速学习类或代码片段的用法。在变量、类、或者方法名上执行Option + Left-click操作来获得更多细节信息。假使你点击了弹出视图底部的参考链接,那么就可以方便地跳转到Xcode提供的文档中。你还可以在变量、类或者方法名上执行Option+双击名称操作,从而更方便地跳转至文档。
编写代码时获得快速帮助
上面是我复制网站的只是完善一下上面的贴,有能帮我记一下。
我觉的在学继承的时候就会有很多人搞不清为什么子类可以直接用父类的成员变量,为什么又有些子类调用父类的方法时的写self.。就这个问题纠结了我很长的时间到底是继承了什么;
http://m.blog.csdn.net/blog/huang2009303513/38445593可以看看这个贴里面有很多关于属性和全局变量的区别在继承方面吧希望能帮助你们,总结一下{}里面的变量是全局变量或成员变量它是私有的变量别的文件是不能调用的(就是通过 导包 [对象名 变量])而@property (nonatomic,retain)NSMutableArray *otherList; otherList是属性,是整个工程所有类都可见,其它类是可以访问得到这个成员变量的。在继承中子类是直接继承了父类的全局变量或成员变量 就可以直接掉用变量;在@property声明的变量就如果继承的话就的写self.了我(个人的理解)@property只是声明了属性的设置器方法,它只是属性并不是子类直接继承的变量吧;
一些建议:
1.如果只是单纯的private变量,最好声明在implementation里.
2.如果是类的public属性,就用property写在.h文件里
3.如果自己内部需要setter和getter来实现一些东西,就在.m文件的类目里用property来声明
from:OC中类得局部变量、属性变量、成员变量分别怎么使用、之间有什么区别和联系求详解?
.h中的interface的大括号{}之间的实例变量,.m中可以直接使用;
.h中的property变量,.m中需要使用self.propertyVariab
注意:
类别中的属性property
类与类别中添加的属性要区分开来,因为类别中只能添加方法,不能添加实例变量。经常会在ios的代码中看到在类别中添加属性,这种情况下,是不会自动生成实例变量的。比如在:UINavigationController.h文件中会对UIViewController类进行扩展
@interface UIViewController (UINavigationControllerItem)
@property(nonatomic,readonly,retain) UINavigationItem *navigationItem;
@property(nonatomic) BOOL hidesBottomBarWhenPushed;
@property(nonatomic,readonly,retain) UINavigationController *navigationController;
@end
这里添加的属性,不会自动生成实例变量,这里添加的属性其实是添加的getter与setter方法。
在初始化方法的时候如果是新手就回有逻辑问题——(id)initWithXXX中有一段不变的代码:
self=[super init];
{
if(self){
XXX
}return self;
} 这时就又人问了就是调用父类的init方法怎么就赋给了当前对象了(就是当前的对象等于父类的初始化方法)我觉得的了解一下super的低层的代码吧;http://www.cnblogs.com/tangbinblog/p/4034890.html这个帖子是我前几天看的对于我这个新手来说看不懂但是里面有一段文字可以解释上面的疑问(super 就是个障眼法 发,编译器符号, 它可以替换成 [slef class],只不过 方法是从 self 的超类开始 )我的理解是super里面是有self的只不过是隐藏了他可以看成self=[self init];当前的对象调用初始化方法;
还有一句 类的实例变量是是让实例方法用;
实例变量的作用域只限于该类定义的实例方法,因此任何实例方法都能直接通过变量的名来访问该类的实例变量,无需其他特殊的操作。在接口中声明的实例变量可通过子类进行继承。继承的实例变量同样可以通过变量名在该子类定义的方法中直接访问,同样这也无需执行其他的操作;
点语法就是调用set方法和get方法这都知道吧就不用我说了;
我再说一下重写吧;可以通过方法的重写子类可以改变从父类继承的行为(子类定义了和父类一样的方法,子类的方法就把父类的方法给覆盖了).
最后一个多多态例如:(animal *p=[[ 狗 allon]init];)就是父类声明的变量(存的是指针)可以指向子类的对象 也就是同一类型的多种表现形态吧;
最后说一下方法吧
我在一个星期的学习oc上只是看书感觉是不够的我觉的书上有很多没给我们说清楚的,我们必须看其它开发者的视频吧(毕竟他也开发了几年有经验吧可以告知我们注意什么吧)自己找比较适合自己的开发视频
知道自己就学这门语言就把基础打牢了,毕竟那些面试者问的可能都是基础吧;不要贪多,一口吃不成胖子,编程是一点一点积累的
ios菜鸟总结2的更多相关文章
- 那些所谓过滤掉iOS菜鸟的面试题
一.struct和class的区别<swfit里的array是什么类型,在大量复制时会不会有性能问题.> class是引用类型,struct是值类型 class可以继承类.接口和被继承,s ...
- IOS菜鸟学习
1.NS是系统库.2.IOS类的声明:@interface MyObject : NSObject { int memberVar1; // 实体变量 id memberVar2;} + ...
- iOS菜鸟成长笔记(3)——斯坦福公开课学习(1)
一.iOS四层结构 1.Core OS 是用FreeBSD和Mach所改写的Darwin, 是开源.符合POSIX标准的一个Unix核心.这一层包含或者说是提供了整个iPhone OS的一些基础功能, ...
- iOS菜鸟成长笔记(2)——网易彩票练习
距离上一篇<第一个iOS应用>已经有一个多月了,今天来和大家一起学习和分享一下一个小练习<网易彩票> 首先我们向storyboard中拖入一个TabBarController和 ...
- iOS菜鸟成长笔记(1)——第一个iOS应用
前言:阳光小强最近抽时间学习iOS开发,在学习过程中发现了很多有趣的东西也遇到了很多问题,为了在学习过程中能和大家交流,记录下学习的心得和学习成果,所以就有了这一个系列文章,希望这一系列文章能形成一个 ...
- iOS菜鸟总结1
我从第一次接触OC,我觉得想要学好就必须有提前的知识的储备(比如c,java).这样就可更好了解面向对象的这一思想.学起来就不是很吃力了,本来OC就是比较难学的语言.工欲善其事,必先利其器,Xcode ...
- iOS菜鸟之苹果开发者账号的注册
大家一起来讨论讨论苹果开发者账号的注册(主要是以公司的开发者账号为例),前段时间公司要求注册开发者账号,于是我就特地看了看相关的帖子.这里简单给大家总结一下具体的流程. 首先你要登陆这个网址,进去之后 ...
- iOS菜鸟之AFN的二次封装
我用一个单例类将一些常用的网络请求进行了二次封装,主要包括post请求 get请求 图片文件上传下载 视频的断点续传等功能. 首先大家先去github上下载AFN,将文件夹内的AFNetworki ...
- iOS菜鸟之FMDB的二次封装简单易用
闲来无事写点东西,希望大家多多指正! 大家先去git下载FMDB,然后将其中source文件夹中的fmdb文件夹拖入自己的项目中.最后就可以引用下面的代码对fmdb进行一次简单的封装. 这样可以更直观 ...
随机推荐
- HDU 5444 Elven Postman (二叉树,暴力搜索)
题意:给出一颗二叉树的先序遍历,默认的中序遍历是1..2.……n.给出q个询问,询问从根节点出发到某个点的路径. 析:本来以为是要建树的,一想,原来不用,其实它给的数是按顺序给的,只要搜结点就行,从根 ...
- MRI中T1和T2的含义与区分[转]
A. MRI名词解释 T1加权像.T2加权像为磁共振检查中报告中常提到的术语,很多非专业人士不明白是什么意思,要想认识何为T1加权像.T2加权像,请先了解几个基本概念: 1.磁共振(maget ...
- gulp安装和使用简介
一. gulp和grunt对比 grunt目前的工作流程:读文件.修改文件.写文件——读文件.修改文件.写文件——... gulp目前的工作流程:读取文件——修改文件——修改文件...——写文件 二. ...
- Builder
Builder模式的使用情景 相同的方法, 不同的执行顺序, 产生不同的事件结果 多个部件或零件, 都可以装配到一个对象中, 但是产生的运行结果又不相同 产品类比较复杂, 或者产品类中的调用顺序不同产 ...
- cocos2d-x 使用Lua
转自:http://www.benmutou.com/blog/archives/49 1. Lua的堆栈和全局表 我们来简单解释一下Lua的堆栈和全局表,堆栈大家应该会比较熟悉,它主要是用来让C++ ...
- 导出excel——入门
简单介绍 Jxl使用总结 样例 java使用jxl操作Excel文件总结
- Codeforces Gym 100187E E. Two Labyrinths bfs
E. Two Labyrinths Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/100187/prob ...
- 【好文翻译】一步一步教你使用Spire.Doc转换Word文档格式
背景: 年11月,微软宣布作为ECMA国际主要合作伙伴,将其开发的基于XML的文件格式标准化,称之为"Office Open XML" .Open XML的引进使office文档结 ...
- 关于java.lang.IllegalArgumentException: View not attached to window manager 错误的分析
今天遇到一个很奇特的问题,当用户设置了PIN码,在锁屏界面正常解锁PIN码后,进入Launcher时显示com.android.phone 已停止运行.一开始猜想会不会是解锁PIN码的时候处理导致了P ...
- 007_尚学堂_高明鑫_android 之项目的打包apk与apk的反编译
http://www.tudou.com/programs/view/kMQlxff8evM/