OC第一节--OC的基本
来源:互联网 发布:下载压缩解压软件 编辑:程序博客网 时间:2024/06/05 11:16
</pre><p> <span style="font-size:18px">OC的含义:obj -c 或者 object-c OC是在C语言的基础上进行拓展, 从面向过程转变为面向对象</span></p><p><span style="font-size:18px"> @符是OC关键字的标志 后面的可见度,接口,实现前都需要加@</span></p><p><span style="font-size:18px"> 例:@interface</span></p><p><span style="font-size:18px"> OC中常用的数据类型: NSInterger(整型) CGFloat(浮点型) NSString(字符串) </span></p><p><span style="font-size:18px"> 如果有*就代表这是一个对象 这里的指针其实相较C弱化了很多 </span></p><p><span style="font-size:18px"> 输出格式也有所改变 NSLog(@"%@", ); 第一个@是OC打印前必须要加的,第二个是代表字符串的格式化输出占位符 </span></p><p><span style="font-size:18px"></span></p><p><span style="font-size:18px">#pragma mark--- 这个可以用来快速查找内容</span></p><p><span style="font-size:18px">创建对象 分两个过程</span></p><p><span style="font-size:18px"> 1.分配内存空间(堆区开辟空间 需要程序员进行管理) </span></p><p><span style="font-size:18px"> 以Person类为例 Person *per = [Person alloc];</span></p><p><span style="font-size:18px"> 2.对对象进行初始化 </span></p><p><span style="font-size:18px"> [per init];</span></p><p><span style="font-size:18px">上面可以直接合成一种写法: Person *person = [[Person alloc]init];</span></p><p><span style="font-size:18px">调用方法是需要加 [];</span></p><p></p><p><span style="font-size:18px">几种类型的差别:</span><span style="font-size:18px">instancetype 表示返回一个对象类型 不能做一个类型声明变量</span></p><p><span style="font-size:18px">void* 无类型指针 可以转化成任何类型的指针</span></p><p><span style="font-size:18px">id表示一个对象类型 可以声明一个对象使用</span></p><p><span style="font-size:18px"></span></p><p><span style="font-size:18px">OC的声明与实现:</span></p><p><span style="font-size:18px"></span></p><p class="p1"></p><p><span style="font-size:18px"></span></p><pre class="prettyprint" name="code" style="white-space: nowrap; word-wrap: break-word; box-sizing: border-box; margin-top: 0px; margin-bottom: 1.1em; font-family: 'Source Code Pro', monospace; padding: 5px 5px 5px 60px; font-size: 14px; line-height: 1.45; word-break: break-all; color: rgb(51, 51, 51); border: 1px solid rgba(128, 128, 128, 0.0745098); border-radius: 0px; position: relative; overflow-y: hidden; overflow-x: auto; background-color: rgba(128, 128, 128, 0.0470588);"><code class="hljs objectivec has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">// .h是接口文件</span><span class="hljs-class" style="box-sizing: border-box;"><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">@interface</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">Person</span>(类名) : <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">NSObject</span> ((继承自)父类)</span><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">// 中间写声明 或者 实例变量(特征) 行为的声明</span><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">// 声明变量(特征)方式: 需添加一个{}, 在{}里面声明实例变量</span>{ <span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">NSString</span> *_name; <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">// 命名规范 只要是类的特征, 实例变量名字前要加上一个”_"</span>}<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">// 在{}外面写行为(方法)</span><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">// void sayHi( ); C语言声明函数的方式</span> - (<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">void</span>)sayHi; <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">// OC中声明方法时在前面加上-, ( - 方法, 也叫实例方法或者对象方法)</span> + (<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">void</span>)walk; <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">// 声明方法时在前面加上+ ( + 方法, 也叫类方法)</span><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">@end</span> <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">// 声明接口的结束部分</span></code><code class="hljs objectivec has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"></code><code class="hljs objectivec has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">// .m是实现文件</span><span class="hljs-class" style="box-sizing: border-box;"><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">@implementation</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">Person</span> (类名)</span><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">// 中间写行为(方法)的实现部分</span>- (<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">void</span>)sayHi{ <span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">NSLog</span>(@“hello”);}<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">@end</span><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">// p.s 括号内的中文为注释, 完整代码参照中文移除括号及其内的中文后即可</span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li><li style="box-sizing: border-box; padding: 0px 5px;">15</li><li style="box-sizing: border-box; padding: 0px 5px;">16</li><li style="box-sizing: border-box; padding: 0px 5px;">17</li><li style="box-sizing: border-box; padding: 0px 5px;">18</li><li style="box-sizing: border-box; padding: 0px 5px;">19</li><li style="box-sizing: border-box; padding: 0px 5px;">20</li><li style="box-sizing: border-box; padding: 0px 5px;">21</li><li style="box-sizing: border-box; padding: 0px 5px;">22</li><li style="box-sizing: border-box; padding: 0px 5px;">23</li><li style="box-sizing: border-box; padding: 0px 5px;">24</li><li style="box-sizing: border-box; padding: 0px 5px;">25</li><li style="box-sizing: border-box; padding: 0px 5px;">26</li><li style="box-sizing: border-box; padding: 0px 5px;">27</li><li></li></ul>
0 0
- OC第一节--OC的基本
- OC第一节
- oc第一节知识总结
- OC第一节总结
- OC第一节总结
- oc第一节作业
- OC学习 第一节
- OC 的基本属性
- oc的基本数据类型
- ObjC第一节:OC类、消息
- OC的基本使用笔记
- Oc数组的基本使用
- OC-ARC的基本使用
- OC绘图的基本样式
- OC相关-02:oc和c的基本差异
- 从C语言到OC第一节
- oc的基本数据的转换
- OC的基本数据的转换
- 小米开源文件管理器MiCodeFileExplorer-源码研究(6)-媒体文件MediaFile和文件类型MimeUtils
- boost::bind
- android studio 更改背景和设置字体大小
- LintCode_主元素
- 系统安装相关:U盘刻录(用U盘装ubuntu简要方法)
- OC第一节--OC的基本
- 最短路径基础
- hihocoder 1142 : 三分·三分求极值
- 关于apache tomcat的几个版本
- const ||c
- Java堆栈详解
- IOS--导航栏
- 用C++实现“按任意键继续”
- hdu 4635 Strongly connected(强联通)