浅谈Object-c中类的设计

类的设计

   【类的方法】

    -(void)show    --成员方法、实例方法

    +(void)show    --类方法

   【类方法的定义】

    类方法与实例方法的区别

    1.类方法是以“+”号开头:实例方法是以“-”开头的。

    2.类方法只能通过类名调用,实例方法只能通过该类的对象来的调用。

    3. 在类方法中不可以访问本类的字段。

    4.在实例方法中可以通过类名调用本类的类方法:在类方法中可以创建该类的对象,然后通过该类的对象去调用该类的成员方法。

   【作用】

    1.创建对象简单【alloc】

    2.创建单例:(单独的对象)

    3.单例是一种设计模式,当一个对象在整个项目就一份的时候,我们就需要将其设置为单例模式。使其能够在整个项目中都使用一份数据。 设计模式一长期在软件开发工程中总结一种解决复杂问题的经验。

   【设计模式】

   单例模式、MVC、代理模式、工厂模式。

   【类方法--单例模式】

    单例模式确保某一个类只能有一个实例,而且自行实例化并向整个项目提供这个实例,这个类成为单例类,他提供全局访问的方法。

    【属性】

    在Xcode4.6之前

     .h文件中

     @interface QFPig :NSObject

     {

         NSInteger _weigth

     }

     @property(nonatomic,assign)NSInteger weigth;

     @synthesize weigth = _weigth;

     在Xcode4.6之后

     @property(nonatomic,assign)NSInteger weigth

     【属性修饰符】

      1.原子性(nonatomic,atomic)多线程概念。nonatomic非原子性,数据传输效率高,但是安全性低:atomic原子性,数据传输效率低,但是安全性高。默认是原子性的。一般我们都使用。

      2.setter getter方法重命名。

      3。读写修饰符。readonlyreadwrite默认是readwrite、readonly修饰,该属性只生成gatter方法,而readwrite都能生成setter与getter方法。

      4.赋值时修饰符,与内存管理有关

默认是assign 修饰基本数据类型

      strong修饰oc中的对象指针

      copy修饰字符串。

时间: 2025-01-07 15:20:39

浅谈Object-c中类的设计的相关文章

浅谈 C 语言中模块化设计的范式

今天继续谈模块化的问题.这个想慢慢写成个系列,但是不一定连续写.基本是想起来了,就整理点思路出来.主要还是为以后集中整理做点铺垫. 我们都知道,层次分明的代码最容易维护.你可以轻易的换掉某个层次上的某个模块,而不用担心对整个系统造成很大的副作用. 层次不清的设计中,最糟糕的一种是模块循环依赖.即,分不清两个模块谁在上,谁在下.这个时候,最容易牵扯不清,其结果往往是把两者看做一体去维护算了.这里面还涉及一些初始化次序等繁杂的细节. 其次,就是越层的模块联系.当模块 A 是模块 B 的上层,而模块

浅谈工业级物联网项目架构设计及实施

[说明]这是发表在<程序员>电子刊10月B架构专题文章 网页链接:http://www.csdn.net/article/2015-10-31/2826093 摘要:互联网+和物联网由于发展的侧重点不同,在做架构设计上肯定有所不同.而以中小项目为主的物联网项目,其实更看重的,一是系统稳定可靠,能保证系统长期稳定的运行.本文主要介绍工业级物联网项目的架构设计及实施. 前言 早在1999年就已经有了“物联网”这个概念,但是直到十年之后的2009年,IBM提出“智慧地球”的概念,才推动很多国家把物联

浅谈当下7个网页设计趋势(转)

技术的革新带动了设计行业的的迅猛发展,这使得设计师和开发者有了更广阔的的探索天地.而网页设计也越发不再那么循规蹈矩,许多团队和公司都做了很多思考和创意.所以在我们适应着现代设计潮流的同时,不妨也来看看现阶段网页设计大致的趋势和风格吧.我不敢大言不惭的说这就是当下网页设计的趋势,这只是本人对当下网页设计做出的一些小总结.希望这样的归类总结能给你带来更多的思路和想法. (点击图片可直接跳转至相关网页) 1.响应式网页设计(Responsive Web Design) 现在越来越多用户都拥有多种终端:

浅谈 Object.observe

国际惯例:转载或引用时请注明原文出处. 今天看到了  Object.observe 这个方面,感觉不错,这里就来简单介绍下. Object.observe 这个方法 可以监听到 某个 对象的属性改变情况.使用方法如下 Object.observe(user,function(changes){    //code console.log(changes); });当  user 的属性发生变化,update,delete,add 时,都会触发该函数.注意 :只有user该对象的属性变化才会触发函

浅谈Object.create

在网上发现了Object.create的用法,感觉很是奇怪,所以学习记录下 1 var o = Object.create(null); 2 console.log(o); // {} 3 o.name = 'jian'; 4 var o2 = Object.create(o); 5 console.log(o2); // {} 6 console.log(o2.name); // 'jian', 百度了一下原理: 1 Object.create = function (o) { 2 var F

浅谈Object.assign()

Object.assign()方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象.返回值为目标对象. const obj = { name: "zs", age: 18, sex: "man" }; const newObj = Object.assign({ newname: "lisi" }, obj); console.log(newObj, obj); // { newname: 'lisi', name: 'zs', age:

浅谈商城活动设计

如题:浅谈商城活动设计 标题改成“浅谈商城活动的数据库设计”可能更加合理. 文章背景 为什么要吐槽,为什么要写这篇文章 本来我在弄大数据搜索,自己玩的不亦说乎,虽然感觉数据库设计不合理,但我可以数据清洗,弄到自己的搜索引擎里,自己随便玩,所以当时感觉在烂的数据库设计和我关系不大,只要我把数据清洗好,弄到自己的引擎里我的搜索正常,准确,问题不大.但忽然有一天老大跑来说ERP对接需要你来lead一下,然后一两个月带着捣乱的产品妹妹,和没有经验开发弟弟搞了ERP的简单对接,然后老大又说咱们商城库存总有

浅谈微服务架构与服务治理的Eureka和Dubbo

前言 本来计划周五+周末三天自驾游,谁知人算不如天算,周六恰逢台风来袭,湖州附近的景点全部关停,不得已只能周五玩完之后,于周六踩着台风的边缘逃回上海.周末过得如此艰难,这次就聊点务虚的话题,一是浅谈微服务的架构设计,二是聊聊微服务中广泛用于服务治理的Eureka与RPC框架Dubbo异同点. 一.微服务的架构设计 之所以想聊一下这个话题,主要有感于最近接触的两个新的微服务项目--两个项目的架构设计出自两个人之手,却不约而同的使用了相同的设计理念,项目结构非常类似.又想到就职于上家公司时接触到的项

浅谈DevExpress&lt;二&gt;:设计一个完整界面(2)

下面来把剩下的工作做完,换肤功能昨天已近讨论过,今天就不重复了.首先建立三个全局变量,一个存放文件路径,一个存放数据,一个存放过滤条件. string DBFileName; DataView dataView; string[] filter = new string[3]; 取得数据并绑定到表格中: DBFileName = DevExpress.Utils.FilesHelper.FindingFileName(Application.StartupPath, "Products.xml&

浅谈Hybrid技术的设计与实现

浅谈Hybrid技术的设计与实现 前言 随着移动浪潮的兴起,各种APP层出不穷,极速的业务扩展提升了团队对开发效率的要求,这个时候使用IOS&Andriod开发一个APP似乎成本有点过高了,而H5的低成本.高效率.跨平台等特性马上被利用起来形成了一种新的开发模式:Hybrid APP. 作为一种混合开发的模式,Hybrid APP底层依赖于Native提供的容器(UIWebview),上层使用Html&Css&JS做业务开发,底层透明化.上层多多样化,这种场景非常有利于前端介入,非