oc学习简单总结

linusflow      2022-02-08     743

关键词:

方法是类的行为,写在接口和实现两个文件中。在接口部分声明方法,在实现部分实现方法。
1、类方法与实例方法
Objective-C中的类可以声明两种类型的方法:实例方法和类方法。实例方法就是一个方法,它在类的一个具体实例的范围内执行。也就是说,在你调用一个实例方法前,你必须首先创建类的一个实例。而类方法,比较起来,也就是说,不需要你创建一个实例。
+表示类方法,就是类调用方法,不依赖与任何对象的方法,类似于c语言的static关键字 static函数。-表示是实例(对象)方法,只能是对象可调用,依赖与任何对象的方法。
总结一下几点:
(1)类(static)方法(便利构造器)
a. 类方法的调用
[类名称 类方法名称];
这里需要注意:
1、类方法可以调用类方法。
2、类方法不可以调用实例方法,但是类方法可以通过创建对象来访问实例方法。
3、类方法不可以使用实例变量。类方法可以使用self,因为self不是实例变量。
4、类方法作为消息,可以被发送到类或者对象里面去(实际上,就是可以通过类或者对象调用类方法的意思)。
(2)实例方法
a.实例方法的调用
首先需要实例化该类
例如:Human *man = [Human alloc] init];
[类的实例  实例方法名称];
例如:[man showSex];   
注意:此处实例化该类时,调用了该类的构造函数init,并且该类的构造函数调用[super init]的返回值不等于该类的self。
定义子类的实例
Woman *wife = [Woman alloc] init];
此处实例化该类时,调用了该类的构造函数init,并且该类的构造函数调用[super init]的返回值 等于该类的self。
2、单例模式
Singleton模式,即单例模式。顾名思义,主要用于做应用程序的资源共享控制。实质为,单例是在程序声明周期里有且仅有被实例化过一次的类。为确保实例化的唯一,利用类的类(static)方法来生成和访问对象。至此,我们可以在程序中任何地方访问类的单例对象,因为只实例化唯一的一次,所以,并不用 alloc、init、autorelease初始化方法。
单例设计模式的要点:
(1) 某个类只能有一个实例。  
(2)他必须自行创建这个对象  
(3)必须自行向整个系统提供这个实例;
(4)这个方法必须是一个静态类;
.m文件代码(记住)

@implementation Singleton
static Singleton *st;
+(Singleton*) instance{//可用id代替返回可用的指针对象 instance是方法名
//静态变量,生命周期是整个程序,在下一次该函数调用时仍可使用 。?    if(st==nil ) {//指针为空就创建?         st = [[Singleton alloc] init];
//指针st指向单例模式 Singleton
      }
    return st;//不是空就继续使用
}
@end
注意:所谓单例,即我们自己创建一个单例类,该类只能生成唯一的对象,为了防止该对象被复制(copy)或者retain 和 release 等操作,我们必须在所创建的单例的实现文件( .m 文件)中将父类的这些方法给覆盖,该目的是为了保证单例模式的一个严谨性。

 

 

转自:http://blog.sina.com.cn/s/blog_a1d242c90102voti.html








































vue初步学习

 Vue简单的总结一Vue简单的总结二Vue简单的总结三Vue简单的总结四(项目流程)Vue简单的总结五 查看详情

blocks的实质学习总结(代码片段)

更新记录时间版本修改2020年4月12日初稿前言目前看到,网上搜索到的Blocks的博客大致都是参考《Objective-C高级编程iOS与OSX多线程和内存管理》这本经典书籍的。本文也类似,会尽可能加入自己的总结和思考。Blocks的实质Objective-C... 查看详情

在objective-c中浅谈面向对象

 接触面向对象也有一段时间了,当时是通过C++学习的OOP,后来又接触到了PHP和Java。每种OOP的语言在面向对象上或多或少都会有不同的地方,现在在学习OC的面向对象部分,又感觉到OC面向对象的特点。写篇博文总结一下OC中的面... 查看详情

20165331第一周学习总结

Java第一周学习总结在第一章中,我学习了以下知识点:Java的地位Java的特点JDK的安装Java应用程序的开发步骤简单的Java应用程序Java反编译其中,安装JDK、Java应用程序开发步骤以及简单的Java应用程序两部分(其实后两部分是合二... 查看详情

ios-oc最实用的runtime总结(代码片段)

...上有很多了,部分有些晦涩难懂,我通过自己的学习方法总结一遍,主要讲一些常用的方法功能,以实用为主,我觉得用到印象才是最深刻的,并且最后两个demo也是MJExtension的实现原理,面试的时候也... 查看详情

oc知识总结

...回中介绍了OC中的异常,本章回中将对OC中的知识进行总结。我们在前面章回中对OC的知识做了详细的介绍,同时以“代码结合文字”的方式进行了演示。本章主要是对这些内容做整体的归纳和总结,OC中的知识可以分... 查看详情

ios-oc与js交互六种方式总结

...库JavaScriptCore,用来做JS交互,因此JS与原生OC交互也变得简单了许多。首先导入JavaScriptCore库,然后在OC中获取JS的上下文。再然后定义好JS需要调用的方法,例如JS要调用share方法:则可以在UIWebView加载url完成后,在其代理方法中添... 查看详情

h5简单学习总结(代码片段)

 html5中增加一些新特性  用于绘画的canvas元素  用于媒介回放的video和audio元素  对本地离线存储的更好的支持  新的特殊内容元素,比如article、footer、header、nav、section  新的表单控件,比如calendar、date、time、ema... 查看详情

[oc学习笔记]启动流程(代码片段)

我们的app是如何从桌面图标被启动的嘞?这个问题值得探究。冷启动与热启动这两个启动的区别其实很简单,就看启动之前手机后台是否有app存活。名称区别冷启动启动时,App的进程不在系统里,需要开启新进程... 查看详情

js与原生oc/swift相互调用总结(代码片段)

代码地址如下:http://www.demodashi.com/demo/12754.htmlJS-OC-SwiftJS和OC/Swift相互调用,主要总结了JS和OC交互的三种方式1.使用UIWebView,利用JavaScriptCore实现2.使用WKWebView,利用WKScriptMessageHandler实现3.使用第三方框架WebViewJavascriptBridge实现部分效 查看详情

[oc学习笔记]kvc原理(代码片段)

KVC的全称是Key-ValueCoding,翻译成中文是键值编码,键值编码是由NSKeyValueCoding非正式协议启用的一种机制,对象采用该协议来间接访问其属性。可以通过一个字符串key来访问某个属性。这种间接访问机制补充了实例变... 查看详情

oc集合

 本人之前学习过一年半ios开发 由于行情太过凄惨,故转前端。心在前端,苹果亦难忘!把我平时的笔记作出给大家总结!  回顾之前的知识便利初始化函数:框架类库中的一些类有一系列的以init开头的方法,这... 查看详情

零基础如何学习ios开发?

...鸦的投射原理与应用.mp4参考技术A1、C/C++/OC语言,零基础学习iOS开发同样也是,以提高编写代码和变成调试能力,具有扎实的编程功底和思想。2、iOS应用开发阶段,具有开发中大型iOS应用项目能力。3、iOS游戏开发阶段,可以掌... 查看详情

oc最实用的runtime总结,面试工作你看我就足够了!(代码片段)

...上有很多了,部分有些晦涩难懂,我通过自己的学习方法总结一遍,主要讲一些常用的方法功能,以实用为主,我觉得用到印象才是最深刻的,并且最后两个demo也是MJExtension的实现原理,面试的时候也... 查看详情

kubernetes学习总结(32)——kubernetes的架构原理简单总结

一、Master节点与 Node节点通讯原理Master节点启动时,会运行一个 kube-apiserver 进程,它提供了集群管理的API接口,是集群内各个功能模块之间数据交互和通信的中心枢纽,并且它页提供了完备的集群安全机制。在N... 查看详情

kubernetes学习总结(32)——kubernetes的架构原理简单总结

一、Master节点与 Node节点通讯原理Master节点启动时,会运行一个 kube-apiserver 进程,它提供了集群管理的API接口,是集群内各个功能模块之间数据交互和通信的中心枢纽,并且它页提供了完备的集群安全机制。在N... 查看详情

内存学习总结

本文全部内容来自于C语言中文网,作为学习记录!!!CPU的简单构造以及CPU指令CPU构造  查看详情

内存学习总结

本文全部内容来自于C语言中文网,作为学习记录!!!CPU的简单构造以及CPU指令CPU构造  查看详情