三:OC--1.NSString的创建和使用,

  1,创建常量字符串,注意使用“@“符号。
    NSString *astring = @"This is a String!"; //后面的是常量,前面的是指针变量

  2,NSString *s1 = [NSString new];//没有意义
    s1 =@"jian le ma";

  3、创建字符串的第三种方法
    // 格式化创建字符串(按照指定的格式创建字符串)
    NSString *imgName = [NSString stringWithFormat:@"xxxxxx%02d.jpg",i];

  4、用一个已经存在的字符串创建一个新的字符串
    NSString *s2 = [[NSString alloc] initWithString:s1];

  5.NSString长度计算方法.
    NSString *str = @"ban长";
    [str length]; // 4

2多文件开发,

  1、为什么要使用多文件?
    在开发当中实现的功能一般会比较复杂, 所以会将类分成声明(.h文件)和实现(.m文件)部分,
    在.h文件中写:成员变量和方法的声明, 在.m文件中写:成员变量和方法的实现.
    这样写大大提高开发效率, 提高代码的维护性.

3类方法,

  一. 特点:
  1. 以加号( + )开头,
  2. 调用格式: [类名 方法名]

  二. 注意事项:
  1. 类方法可以和实例方法同名, 相互之间互不影响

  2. 类方法可以从父类继承而来,子类可以重写类方法 // ,如description类方法

  3. 类方法和实例方法一样在interface里声明, 在implementation里实现。

  4. 类方法由类名调用, 实例方法由对象调用。

  5. 在类方法里使用了self, self指代的是调用者类

  6. 在类方法中不能使用类的成员变量

  7. 类方法和对象方法之间不能使用self 相互调用

  总结self : 谁调用当前方法, self就代表谁

  三. 类方法和对象方法的比较
  1. 对象方法以减号开头, 可以使用成员变量
  2.类方法以加号开头,不能使用成员变量

  四. 类方法使用场景
  如果我们调用一个方法,该方法中不需要使用成员变量,那么我们可以将该方法声明为类方法

  五. 匿名对象
  匿名对象的使用场景: 当对象的方法只调用一次时,可以使用匿名对象来完成。

  匿名对象优缺点 :
  优点: 可以简化代码,方便方法调用;节省内存空间
  缺点: 匿名对象实例化以后,只能正确的使用一次成员变量;

4封装

  一. 什么是封装:
  1. 封装是指隐藏对象的属性和实现细节,仅对外提供公共访问方式

  二. 封装的好处:
  1. 将变化隔离。(不管里面怎么变,使用者不需要知道)
  2. 便于使用。(使用者只需按照一定的方法使用就可以了)
  3. 提高重用性。(任何人都可以对已封装好的功能进行操作)
  4. 提高安全性。(由于暴露给使用者的只是一些外在的操作环节,而不是里面本质的东西,所以就提高了对他的维护性,也就是安全性)

  三. 封装的原则:
  1.将不需要对外提供的内容都隐藏起来。
  2.把属性都隐藏,提供公共方法对其访问。

  四. setter方法的实现
    set方法的书写规范:
      1) set方法一定是一个对象方法
      2) set方法一定不能有返回值
      3) set方法必须以set开头
      4) set之后跟的是 实例变量去掉下划线,并且首字母大写
      5)set方法一定有参数,而且参数的类型和实例变量的类型一致
      6) set方法的形参名 一般是 去掉下环线的实例变量名
      7)形参名不能和 实例变量名同名
      8) set方法实现中,一定要用形参给实例变量赋值

    成员变量: int _age; 的setter方法
    -(void)setAge:(int)age{

      _age = age;
    }

   get方法书写规范:
    1) get方法一定是一个对象方法
    2) get方法一定有返回值,返回值的类型和实例变量的类型要一致
    3) get方法的方法名 是去掉下环线的实例变量名
    4) get方法一定没有参数
    5) get方法的实现中,一定是返回实例变量值

  成员变量: int _age; 的setter方法
    -(int)age{
      return _age;
    }

三.OC基础--1.NSString的创建和使用,2多文件开发,3类方法,4封装的更多相关文章

  1. OC基础数据类型-NSString

    1.字符串的初始化 //字符串的初始化 NSString *str = @"Hello world!"; NSString *str2 = [[NSString alloc] in ...

  2. OC基础笔记目录

    OC基础(1) Objective-C简介 OC和C对比 第一个OC程序 面向对象思想 OC基础(2) 类与对象 类的设计 第一个OC类 对象方法的声明和实现 类方法的声明和实现 OC基础(3) 对象 ...

  3. oc基础 不可变字符串的创建和使用

    oc基础  不可变字符串的创建和使用 简介:下面都是字符串基本用法. 1.字符串的创建 //创建oc常量字符串 NSString *str=@"hello world!"; NSL ...

  4. ASP.NET实现二维码 ASP.Net上传文件 SQL基础语法 C# 动态创建数据库三(MySQL) Net Core 实现谷歌翻译ApI 免费版 C#发布和调试WebService ajax调用WebService实现数据库操作 C# 实体类转json数据过滤掉字段为null的字段

    ASP.NET实现二维码 using System;using System.Collections.Generic;using System.Drawing;using System.Linq;us ...

  5. OC语言基础之NSString

    1.字符串的创建 1: NSString *s1 = @"jack"; 2: 3: //NSString *s2 = [[NSString alloc] initWithStrin ...

  6. Verilog基础入门——Vivado工程创建(三)

    Verilog基础入门--Vivado工程创建(三) Vivado是Verilog语言的一个集成环境,目前使用的版本为英文版,简单介绍一下在Vivado中创建一个工程并写入源文件 [配置] win10 ...

  7. OC基础15:内存管理和自动引用计数

    "OC基础"这个分类的文章是我在自学Stephen G.Kochan的<Objective-C程序设计第6版>过程中的笔记. 1.什么是ARC? (1).ARC全名为A ...

  8. 【OC基础语法考试】

    OC基础语法已经全部学完,但是这些知识只是最基础的,还有很多高级知识,这个可能需要后面慢慢的去学习才能体会到.接下来我会总结前面的OC基础语法,如果大家发现有什么不正确的地方,请指正,小弟是新生,多请 ...

  9. OC第二节 —— NSString和NSMutableString

    1.为什么需要NSString对象        答:在OC中创建字符串时,一般不使用C的方法,    因为C将字符串作为字符数组,所以在操作时会有很多不方便的地方,    在Cocoa中NSStri ...

随机推荐

  1. Python+selenium(定位一组元素)

    我们熟知Webdriver有8种定位元素的方法,但是当需要定位一组元素的时候,可以使用Webdriver提供的与之对应的8种用于定位一组元素的方法,分别是: find_elements_by_id() ...

  2. Epic Moments

    网络流序号要考虑超级源和超级汇 SAP要记得即使还原当前弧 二分图匹配中v.w要取局部变量 RMQ时记得开大数组 树链剖分记得结点要变为线段树中的下标

  3. js命名

    JS变量名前加 _ 与 $ 的区别: 下划线一般当做私有属性, 业界会比较常用$开头作为框架.库的关键词前缀,目的是避免命名冲突

  4. Swift--Set的了解

    1. 创建和初始化一个空的set var letters = Set<Character>() 或者,如果上下文已经提供了类型信息,例如函数参数或已输入的变量或常量,则可以创建空的集合,其 ...

  5. Codeforces 659E New Reform【DFS】

    题目链接: http://codeforces.com/problemset/problem/659/E 题意: 给定n个点和m条双向边,将双向边改为单向边,问无法到达的顶点最少有多少个? 分析: 无 ...

  6. A. Link/Cut Tree--cf614A ()

    这个题卡精度了  刚开始是2的57次方都已经有误差了  不知道怎么弄 后来加个求余就好了 #include<stdio.h> #include<math.h> #include ...

  7. POJ 2513 【字典树】【欧拉回路】

    题意: 有很多棒子,两端有颜色,告诉你两端的颜色,让你把这些棒子拼接起来要求相邻的接点的两个颜色是一样的. 问能否拼接成功. 思路: 将颜色看作节点,将棒子看作边,寻找欧拉通路. 保证图的连通性的时候 ...

  8. JAVA_构造方法

    构造方法: 作用:是给对象的数据进行初始化用的. 特点:1 必须和类的名字一样. 2 和真正的方法是有所不同的,构造方法是没有返回值的类型的 eg:   方法:public  void  User ( ...

  9. Unity从实践中学习(1)

    首先在实际中unity的开发之中快捷键应该是相当重要的一个部分,这里先引用csdn的一个博客,https://blog.csdn.net/qq_34552886/article/details/697 ...

  10. 基于sentry的前端错误监控日志系统(部署sentry服务器/前端项目部署)-让前端最快的定位到生产问题

    背景 在这越来越发达的网络时代,web应用也是越来越复杂,尤其是前端的开发,也是越来越受重视. 所以在我们前端开发完成后,会有一些列的web应用的上线验证,如自测.QA测试.code review 等 ...