Objective--C 

一 关键字
self 相当于java中的this,但是又有不同 它即可一代替对象,也可以代替类, 也就是说它既可以用在静态方法中又可以用在动态方法中。
super 相当于父类,可以调用父类的函数
nil 相当于java中null,空指针
#pragma 注释代码用的,用它注释之后,以后你要想找到这段代码可以一下定位到该段代码,一般在一些回调方法、代理方法中常用它注释
SEL 函数指针地址
@select 获取类的方法在内存中的指针地址
@protocol 协议 相当于 java中的抽像类 二 函数
description 相当于java中ToString
respondsToSelector 判断是否实现了某方法 三 规则
1 函数的作用域
A 将方法写在.m中,为私有;写在.h为公有
B 在java 中public private 可以修饰函数 变量,但是好像OC中只能用来修饰变量,那么OC区分函数的公有与私有,就看在.h文件有没有定义 2 description
A 位置 在.m 文件中
B 返回格式为 [NString stringwithFormat:@"",...]
C 估计父类中已有该函数,我们就是复写,用于打印测试
D NSLog中的格式符是%@,当使用%@输出一个对象时,ObjC会调用个对象的description返回对应的信息进行输出,默认情况下如果我们不重写description方法,输出内容是类名和地址
E 需要强调的是千万不要在description中打印输出self,因为当输出self时会调用该对象的description方法,如此一来就会造成死循环。 3 respondsToSelector
1 实例方法\类方法
2 判断该类是否实现了某方法
3 格式 Bool buer = [类\对象 repondsToSe]ector:@select(测试方法名:); 4 protocol 协议
A 在ObjC中使用@protocol定义一组方法规范,实现此协议的类必须实现对应的方法。熟悉面向对象的童鞋都知道接口本身是对象行为描述的协议规范。也就是说在ObjC中@protocol和其他语言的接口定义是类似的,只是在ObjC中interface关键字已经用于定义类了,因此它不会再像C#、Java中使用interface定义接口了
B 一个协议可以扩展自另一个协议,例如上面AnimalDelegate就扩展自NSObject,如果需要扩展多个协议中间使用逗号分隔;
3 和其他高级语言中接口不同的是协议中定义的方法不一定是必须实现的,我们可以通过关键字进行@required和@optional进行设置,如果不设置则默认是@required(注意ObjC是弱语法,即使不实现必选方法编译运行也不会报错);
C 协议通过<>进行实现,一个类可以同时实现多个协议,中间通过逗号分隔;
D 协议的实现只能在类的声明上,不能放到类的实现上
E 协议中不能定义属性、成员变量等,只能定义方法;
     F 假如有个声明类接入了协议,而且该协议有个必选函数,它可以不在声明中复写,只需要在实现中复写就可; 4 法则
1 继承
2 封装

IOS 学习日志 2015-3-16的更多相关文章

  1. IOS 学习日志 2015-3-13

    前面几天在看C ,但是没有做笔记,现在在看Objective--C ,开始做笔记,希望每一天都有成长吧 Objective--C 关键字 1 @import 导入 注意<>||" ...

  2. Python学习日志9月16日

    刚才我差点睡着了,差资料的时候太费神,有些累. 今天早晨学习了<head first HTML and CSS>,今天把昨天没看了的关于字体和颜色的一章节看完了,真长.我详细的做了笔记,并 ...

  3. IOS 学习日志 2015-3-17

    Objective--C 一 关键字 @class 导入已有的类 id 对象类型 表示任何一个ObjC对象类型 Block 对象类型 OC中称为代码块 类似于C中的函数式指针 typedef 定义数据 ...

  4. OC基础:Date 分类: ios学习 OC 2015-06-22 19:16 158人阅读 评论(0) 收藏

    NSDate  日期类,继承自NSObject,代表一个时间点 NSDate *date=[NSDate date]; NSLog(@"%@",date);   //格林尼治时间, ...

  5. 2015最新iOS学习线路图

    iOS是由苹果公司开发的移动操作系统,以xcode为主要开发工具,具有简单易用的界面.令人惊叹的功能,以及超强的稳定性,已经成为iPhone.iPad 和iPod touch 的强大基础:iOS 内置 ...

  6. 黑苹果-IOS学习的开始

    深知安装黑苹果的不易,在这里写一下关于我的Thinkpad E430c安装黑苹果教程(Mac版本:Yosemite 10.10.4),希望能够帮助有需要的朋友. 首先贴上我的电脑配置报表: ----- ...

  7. iOS学习资料整理

    视频教程(英文) 视频 简介 Developing iOS 7 Apps for iPhone and iPad 斯坦福开放教程之一, 课程主要讲解了一些 iOS 开发工具和 API 以及 iOS S ...

  8. iOS 学习

    iOS 学习资料 (适合初学者) 本文资料来源于GitHub 一.视频教程(英文) Developing iOS 7 Apps for iPhone and iPad斯坦福开放教程之一, 课程主要讲解 ...

  9. iOS 学习资料汇总

    (适合初学者入门) 本文资料来源于GitHub 一.视频教程(英文) Developing iOS 7 Apps for iPhone and iPad斯坦福开放教程之一, 课程主要讲解了一些 iOS ...

随机推荐

  1. ActiveMQ内存设置和流控

    启动脚本设置jvm的内存 if "%ACTIVEMQ_OPTS%" == "" set ACTIVEMQ_OPTS=-Xms1G-Xmx1G -Djava.ut ...

  2. jbpm4.4 demo3

    package cn.itcast.c_processinstance; import java.util.List; import org.jbpm.api.Configuration; impor ...

  3. java并发 使用ScheduledExecutor的温室控制器--thinking in java 21.7.5

    package org.rui.thread.newc; import java.text.DateFormat; import java.text.SimpleDateFormat; import ...

  4. Java解惑五:类之谜

    本文是依据JAVA解惑这本书,做的笔记.电子书见:http://download.csdn.net/detail/u010378705/7527721 谜题46 函数重载的问题. JAVA重载解析过程 ...

  5. cardslib

    https://github.com/gabrielemariotti/cardslib

  6. [Whole Web] [AngularJS] Localize your AngularJS Application with angular-localization

    It is best to start your application's localization efforts early in development, even if you only s ...

  7. 为Windows 7的winsxs目录瘦身,谨慎。

    刚使用Win7 系统不久,前段时间在清理系统垃圾时发现,win7系统的windows文件夹下的winsxs 文件夹占用空间很大,想清理之,却提示无权限无法清理.随即在网上查了个到底,原来winsxs是 ...

  8. kcachegrind gui for callgrind

    DocumentationScreenshotsDownload/SourcesLinksRoadmapBugs & Wishes This is the homepage of the pr ...

  9. leecode 每日解题思路 152 Maximun Product Subarray

    问题描述: 问题链接:152 Maximum Product Subarray 在经典的算法解析中, 有关的分治和动态规划的,经典题型之一就是求最大子段和, 这道题就是他的变形:求最大子段积; 这个问 ...

  10. struts----通配符设置

    本次学习的内容是struts通配符配置: 具体内容为: 一.准备工作 1.新建Web工程 2.添加struts:右键点击工程名选择My Eclipse-->点击add struts..--> ...