文档章节

C语言-封装

盘盘的灰灰
 盘盘的灰灰
发布于 2016/08/06 10:45
字数 945
阅读 8
收藏 0
  • 如何处理异常.

    1). 目的: 为了让程序在执行的时候如果发生了异常而不崩溃 而是继续往下执行.

    2). 语法:

    @try

     {

      }

    @catch(NSException *ex)

     {

     }

     将有可能发生异常的代码放在@try中.

    当@try中的代码在执行的时候.如果发生了异常.不会崩溃,而是会立即跳转到@catch中去执行里面的代码.

    当@catch的代码执行完毕之后 结束@try...@catch往下执行.

    如果@try中的代码在执行的时候 没有发生异常. 就会略过@catch往下执行.

    3). 当@try中的代码在执行的时候发生了异常.@try块发生异常的后面的代码不会执行.而是立即转到@catch

  • 调用.

       1). 对象方法: 先创建对象 再通过对象名来调用.

       2). 类方法: 不需要通过对象名来调用 所以如果要调用类方法不需要创建对象.

           而是直接使用类名来调用

           [类名 类方法名];

  • 在类方法中不能直接访问属性.

  • 在类方法中也不能通过self直接调用当前类的其他的对象f方法

        因为对象方法只能通过对象来调用 而这个时候没有对象.

  • NSString最常用的类方法.

        1). + (instancetype)stringWithUTF8String:(const char *)nullTerminatedCString;

            instanceType 作为返回值 代表返回的是当前这个类的对象.

            作用:将C语言的字符串转换为OC字符串对象.

        2). + (instancetype)stringWithFormat:(NSString *)format, ...  使用频率100分.

            作用: 拼接1个字符串对象.使用变量或者其他数据拼接成OC字符串.

             int age = 19;

             NSString *name = @"小明";       

             //@"大家好我叫xx 我的年龄是xx"

             NSString *str =  [NSString stringWithFormat:@"大家好,我叫%@,我今年%d岁",name,age];

             NSLog(@"str = %@",str);

     ----str = 大家好,我叫小明,我今年19岁----
  • 最常用的对象方法

 1). length方法 返回值为NSUInteger 其实就是unsigned long

 2). 得到字符串中指定下标的字符.

        - (unichar)characterAtIndex:(NSUInteger)index;

        返回值是unichar 其实就是unsinged short 占据2个字节.

        如果要输出unichar变量的值使用%C 钛金眼睁大 这是大写的C 

        %c

3). 判断两个字符串的内容是否相同.

        a. 判断两个字符串的内容是否相同 不要用==去判断  因为这样有可能会出问题.

        b. 判断相等的方式.

           - (BOOL)isEqualToString:(NSString *)aString;

           所以,判断两个字符串是否相等 应该使用这个方法区判断 才会得到正确的结果.

4).比较字符串的大小.

        - (NSComparisonResult)compare:(NSString *)string;

        完全可以使用int类接收结果. 因为返回值是1个枚举.

        返回值如果是 -1 说明小于

                   0  等于

                  1   大于.

  • 匿名对象:

1). 匿名对象只能使用1次. 

2). 每次创建匿名对象都是不同的对象 。

  • 为类提供1个方法,这个方法专门为属性赋特定范围值.这个方法我们叫做setter(对象方法,有参数,无返回值)

  • 这么一写,我们确实可以在为对象的属性赋值的时候做1个逻辑验证了.

         但是问题就是 在外界无法取出属性的值了.

         那就再写1个方法,专门用来返回属性的值.这个方法我们叫做getter方法.(对象方法,没有参数,有返回值)

  • 只读封装与只写封装.

    只读封装: 为属性封装的时候 只提供getter 不提供setter

    只写封装: 为属性封装的时候.只提供setter 不提供getter

  • 对象与对象之间的关系.

     组合关系(强调组成)

     依赖关系

     关联关系(强调拥有)

     继承关系

     

© 著作权归作者所有

共有 人打赏支持
盘盘的灰灰
粉丝 0
博文 31
码字总数 24142
作品 0
深圳
SWIG入门7: 如何用Python封装C语言的字符串处理函数

在C语言中,字符串处理是每天都要面对的问题。我们都知道C语言中其实并没有一种原生的字符串类型,‘字符串’在C语言里只是一种特殊的以'0'结尾的字符数组。因此,如何将C语言与更高层次的P...

costaxu
2012/11/10
0
0
一、C语言概述

说明:这个C语言专题,是学习iOS开发的前奏。也为了让有面向对象语言开发经验的程序员,能够快速上手C语言。如果你还没有编程经验,或者对C语言、iOS开发不感兴趣,请忽略 为什么iOS开发要先...

长平狐
2013/03/28
109
1
学习ios思想

学了3个月ios,自认为学的不咋样。 ios 的编程思想,与c语言完全不同, ios面向对象,考虑对象实现的效果,与c语言一步一步完全不同。 因为ios 封装了方法。

aerial
2016/01/15
219
0
小朋友学Online Judge(9):判断成绩等级

题目 http://oj.jzxx.net/problem.php?id=1013 解法一:C程序 分析: (1)C语言中,没有string这种类型。 C++中,有string类型,表示字符串。 Java中,有String类型,表示字符串。 (2)既然...

翡翠森林Z
2017/11/27
0
0
Redis设计与实现系列-基本数据结构-SDC

关于《Redis设计与实现》读书笔记 SDC全称是(simple dynamic string,SDS),Redis是以C语言编写的,但是Redis并没有直接使用C语言内置的字符串(C语言内置的字符串以空格结束),Redis自己构...

申文波
07/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

配置Spring的注解支持

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。 配置Spring的注解支持 以上也提到了使用注解来配...

凯哥学堂
23分钟前
0
0
关于Spring Aop存在的一点问题的思考

在本人前面的文章Spring Aop原理之切点表达式解析中讲解了Spring是如何解析切点表达式的,在分析源码的时候,出现了如下将要讲述的问题,我认为是不合理的,后来本人单纯使用aspectj进行试验...

爱宝贝丶
25分钟前
0
0
JavaScript 概述

JavaScript是面向Web的编程语言。绝大多数现代网站都使用了JavaScript,并且所有的现代Web浏览器——基于桌面系统、游戏机、平板电脑和智能手机的浏览器——均包含了JavaScript解释器。这使得...

Mr_ET
55分钟前
0
0
Java Run-Time Data Areas(Java运行时数据区/内存分配)

Java运行时数据区(内存分配) 本文转载官网 更多相关内容可查看官网 中文翻译可参考 2.5. Run-Time Data Areas The Java Virtual Machine defines various run-time data areas that are use...

lichuangnk
今天
0
0
docker learn :services docker-compose.yml

docker-compose.yml定义了服务的运行参数 version: "3" services: web: # replace username/repo:tag with your name and image details image: hub.c.163.com/dog948453219/friendlyhello d......

writeademo
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部