1、NSString的使用
 
     C的字符串保存:1)字符数组      2)字符串的指针

OC中又专门的字符串处理的类(有字符串类型)
     NSString  不可变的字符串
     NSMutableString 可变字符串
 
     NSString 是OC字符串的类
 
     1) NSString保存字符串
        NSString *str = @"abc";    //用str保存字符串常量
        创建空字符串
        NSString *str = [NSString new];
        str = @"xxxx";
 
        格式化字符串(拼接)
             stringWithFormat
        字符串连接
            NSString *str1="itcast";
            NSString *str2 = [NSString stringWithForamt:@"welcome to %@",str1];      // welcome to itcast
 
        字符的拼装
 
            NSString *str3 = [[NSString alloc] initWithFormat:@"welcome %d,%f",20,2.3f];   // welcome 10,2.300000
 
            NSString *str4 = @"welcome 10,2.300000";
 
 
     2)计算NSString的字符串的长度
            [str length];
        1) 纯英文
 
            NSString  *str5 = @"abc";   // 3
 
        2)纯中文
      
            //UTF-8  国际通用编码3    GB2312   国内标准2   GBK
 
            NSString  *str6 = @"传智播客";  //4
 
            char *str7 = "传智播客";        //12
 
        3)中英文混合
 
            NSString  *str6 = @"传智播客xy";  //6

2、对象和方法之间的关系

(1)对象作为方法的参数
 
         Person *p = [Person new];
         Person *p1 = [Person new];
 
         -(void)test:(Person *) person;
 
         [p test:p1];
 
         //p1 -----> person
 
    (2)对象作为方法的返回值
 
         -(Person *)test1{
 
               //p3 0x40
               Person *p3 = [Person new];
               p3->_name = @"zhe";
 
              return p3;
 
          }
 
          //p4 0x40
          Person *p4 = [p test1];
 
  3、对象作为方法的参数,连续传递
 
          1)枪作为方法的参数
 
          -(void)fireByGun:(Gun*) gun;
          -(void)fireByGun:(Gun*) gun{
              
                 [gun shoot];
          }
 
 
          2)增加了 子弹的类
 
          -(void)fireByGun:(Gun *) gun andBullet:(Bullet *) bullet;
 
          -(void)fireByGun:(Gun *) gun andBullet:(Bullet *) bullet{
 
                 [gun shoot:bullet];
          }

//枪的方法
          -(void)shoot:(Bullet *)bullet;
 
          -(void)shoot:(Bullet *)bullet{
 
                bullet->_bulletCount --;
 
          }

4、多文件开发

什么是多文件开发?
         C的模块化开发: 把功能相似的函数,写到同一个文件中
 
                       .h   函数声明
 
                       .c   函数的实现
 
         OC 模块化开发: 把功能不同的类放到不同的文件中
 
                       .h   类的声明
 
                       .m   类的实现 (方法的实现)
 
         多文件开发的好处:提高代码的可读性

如何进行多文件:
 
          1)new ---> new File ---> Header file(.h)
                               ---> Objective-C file (.m)

Person.h
 
               规范: 1) @interface Person :NSObject
 
                     2) #import <Foundation/Foundation.h>
 
             Person.m
 
                     3)#import "Person.h" (new  Cocoa Class 会自动写这句话)
 
                        @implmentation Person 
 
                        @end

2) new ----> new File ----> Cocoa Class (同时创建.h 和 .m)

《OC疯狂讲义》笔记(二)相关推荐

  1. css中怎么加入立体模型,CSS学习笔记二:css 画立体图形

    继上一次学了如何去运用css画平面图形,这一次学如何去画正方体,从2D向着3D学习,虽然有点满,但总是一个过程,一点一点积累,然后记录起来. Transfrom3D 在这一次中运用到了一下几种属性: ...

  2. qml学习笔记(二):可视化元素基类Item详解(上半场anchors等等)

    原博主博客地址:http://blog.csdn.net/qq21497936 本文章博客地址:http://blog.csdn.net/qq21497936/article/details/7851 ...

  3. oracle直查和call哪个更快,让oracle跑的更快1读书笔记二

    当前位置:我的异常网» 数据库 » <>读书笔记二 <>读书笔记二 www.myexceptions.net  网友分享于:2013-08-23  浏览:9次 <> ...

  4. 【Visual C++】游戏开发笔记二十七 Direct3D 11入门级知识介绍

    游戏开发笔记二十七 Direct3D 11入门级知识介绍 作者:毛星云    邮箱: happylifemxy@163.com    期待着与志同道合的朋友们相互交流 上一节里我们介绍了在迈入Dire ...

  5. [转载]dorado学习笔记(二)

    原文地址:dorado学习笔记(二)作者:傻掛 ·isFirst, isLast在什么情况下使用?在遍历dataset的时候会用到 ·dorado执行的顺序,首先由jsp发送请求,调用相关的ViewM ...

  6. PyTorch学习笔记(二)——回归

    PyTorch学习笔记(二)--回归 本文主要是用PyTorch来实现一个简单的回归任务. 编辑器:spyder 1.引入相应的包及生成伪数据 import torch import torch.nn ...

  7. tensorflow学习笔记二——建立一个简单的神经网络拟合二次函数

    tensorflow学习笔记二--建立一个简单的神经网络 2016-09-23 16:04 2973人阅读 评论(2) 收藏 举报  分类: tensorflow(4)  目录(?)[+] 本笔记目的 ...

  8. 趣谈网络协议笔记-二(第十九讲)

    趣谈网络协议笔记-二(第十九讲) HttpDNS:网络世界的地址簿也会指错路 自勉 勿谓言之不预也 -- 向为祖国牺牲的先烈致敬! 引用 dns缓存刷新时间是多久?dns本地缓存时间介绍 - 东大网管 ...

  9. 趣谈网络协议笔记-二(第十八讲)

    趣谈网络协议笔记-二(第十八讲) DNS协议:网络世界的地址簿 自勉 勿谓言之不预也 -- 向为祖国牺牲的先烈致敬! 正文 DNS用于域名解析,但也不仅仅是用于域名解析,不仅仅是将域名转换成IP. 在 ...

  10. 趣谈网络协议笔记-二(第十七讲)

    趣谈网络协议笔记-二(第十七讲) P2P协议:我下小电影,99%急死你 自勉 逃离舒适区! 正文 一. P2P协议 整个篇章讲的就是这两个协议之间的区别.P2P协议就是迅雷下载数据时所用的协议, 众所 ...

最新文章

  1. 运维和开发慌了,Redis突然 慢 了,到底谁背锅?
  2. SSM实现个人博客系统
  3. 浅谈 Linux 内核开发之网络设备驱动
  4. 给共享程序集延迟签名
  5. Android 之UID and PID
  6. POJ2777 Count Color 线段树区间更新
  7. 请编写一个php程序,(笔试题)php练习笔试题(一) 编写程序(请任选两题)
  8. SpringBoot POM说明
  9. python正则匹配中文_python 正则表达式匹配中文-阿里云开发者社区
  10. Codeforces 988D Points and Powers of Two ( 思维 || 二的幂特点 )
  11. 史上最强NLP知识集合:知识结构、发展历程、导师名单
  12. 跨交换机实现 VLAN 间路由
  13. CSDN一般支付页面(源码)
  14. 快速批量下载 B 站视频
  15. 做前端,如何克服新技术焦虑?
  16. 基于php的网络教学平台,基于PHP技术的网络教学平台的设计与实现
  17. ios免越狱脚本实现方案,苹果手机实现自动抖音发私信且是中文输入,FN键切换输入法,最新的苹果11以上圆角的屏幕一并支持。
  18. 大学生计算机适合用苹果笔记本吗,2019学生党笔记本推荐 苹果笔记本适合大学生吗...
  19. 如何配置c/c++环境及MinGW下载与安装配置
  20. sqlserver ceiling函数用法

热门文章

  1. python中那些双下划线开头的函数和变量
  2. mybatisplus之Wrappers.lambdaQuery常用写法
  3. JQuery获取iframe中window对象方法.contentWindow
  4. 操作流python_python处理字节流
  5. 你想要的宏基因组-微生物组知识全在这(2023.5)
  6. 深度详解 Android 之 Context
  7. STM32四行【跳转程序】引申出来的几条重要知识点
  8. 在物流行业,领导提拔你,第三看能力,第二看态度,第一看...
  9. APP自动化测试神器之Appium-Python环境部署及脚本实战
  10. android圆形的按钮样式,android – 如何绘制一个完美的圆形按钮?