文档章节

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

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

     组合关系(强调组成)

     依赖关系

     关联关系(强调拥有)

     继承关系

     

© 著作权归作者所有

共有 人打赏支持
上一篇: OC语言-继承
下一篇: OC语言-类与对象
盘盘的灰灰
粉丝 0
博文 31
码字总数 24142
作品 0
深圳
私信 提问
OC对象,自动释放池,OC与C语言的区别

在C语言中,编程都是面向过程的编程,每一个代码块都严格按照从上至下的顺序执行,在代码块之间同样也是这样, 但是在OC中往往不是这样,OC和C++、java等语言一样,都是面向对象的编程语言,...

老人与海l
2018/08/22
0
0
iOS封装C语言P Thread

需求:iOS封装C语言P Thread以实现开始,结束,暂停,继续,指定线程名称,任务等的需求。 阅读前提: 了解p thread基本用法 了解iOS端线程基本概念 了解线程加锁基本原理 GitHub地址(附代码)...

__小___东邪___
2018/12/04
0
0
windows平台,实现录音功能详解

音频处理分为播放和录音两类。对这些处理,微软提供了一些列函数,称之为Waveform Functions。这篇文章讨论录音功能。会对微软提供的函数做简单说明,并对这些函数封装成c++类,再进一步封装...

源之缘
2018/11/09
0
0
SWIG入门7: 如何用Python封装C语言的字符串处理函数

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

costaxu
2012/11/10
0
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

没有更多内容

加载失败,请刷新页面

加载更多

Cookie 显示用户上次访问的时间

import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.Cookie;import javax.servlet.http.HttpServlet;import javax.serv......

gwl_
今天
1
0
网络编程

第14天 网络编程 今日内容介绍  网络通信协议  UDP通信  TCP通信 今日学习目标  能够辨别UDP和TCP协议特点  能够说出UDP协议下两个常用类名称  能够说出TCP协议下两个常用类名称...

stars永恒
今天
1
0
二进制相关

二进制 众所周知计算机使用的是二进制,数字的二进制是如何表示的呢? 实际就是逢二进一。比如 2 用二进制就是 10。那么根据此可以推算出 5的二进制等于 10*10+1 即为 101。 在计算机中,负数以...

NotFound403
昨天
3
0
day22:

1、写一个getinterface.sh 脚本可以接受选项[i,I],完成下面任务: 1)使用格式:getinterface.sh [-i interface | -I ip] 2)当用户使用-i选项时,显示指定网卡的IP地址;当用户使用-I选项...

芬野de博客
昨天
2
0
Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现

自Spring Cloud Alibaba发布第一个Release以来,就备受国内开发者的高度关注。虽然Spring Cloud Alibaba还没能纳入Spring Cloud的主版本管理中,但是凭借阿里中间件团队的背景,还是得到不少...

程序猿DD
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部