《OC疯狂讲义》笔记(二)
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疯狂讲义》笔记(二)相关推荐
- css中怎么加入立体模型,CSS学习笔记二:css 画立体图形
继上一次学了如何去运用css画平面图形,这一次学如何去画正方体,从2D向着3D学习,虽然有点满,但总是一个过程,一点一点积累,然后记录起来. Transfrom3D 在这一次中运用到了一下几种属性: ...
- qml学习笔记(二):可视化元素基类Item详解(上半场anchors等等)
原博主博客地址:http://blog.csdn.net/qq21497936 本文章博客地址:http://blog.csdn.net/qq21497936/article/details/7851 ...
- oracle直查和call哪个更快,让oracle跑的更快1读书笔记二
当前位置:我的异常网» 数据库 » <>读书笔记二 <>读书笔记二 www.myexceptions.net 网友分享于:2013-08-23 浏览:9次 <> ...
- 【Visual C++】游戏开发笔记二十七 Direct3D 11入门级知识介绍
游戏开发笔记二十七 Direct3D 11入门级知识介绍 作者:毛星云 邮箱: happylifemxy@163.com 期待着与志同道合的朋友们相互交流 上一节里我们介绍了在迈入Dire ...
- [转载]dorado学习笔记(二)
原文地址:dorado学习笔记(二)作者:傻掛 ·isFirst, isLast在什么情况下使用?在遍历dataset的时候会用到 ·dorado执行的顺序,首先由jsp发送请求,调用相关的ViewM ...
- PyTorch学习笔记(二)——回归
PyTorch学习笔记(二)--回归 本文主要是用PyTorch来实现一个简单的回归任务. 编辑器:spyder 1.引入相应的包及生成伪数据 import torch import torch.nn ...
- tensorflow学习笔记二——建立一个简单的神经网络拟合二次函数
tensorflow学习笔记二--建立一个简单的神经网络 2016-09-23 16:04 2973人阅读 评论(2) 收藏 举报 分类: tensorflow(4) 目录(?)[+] 本笔记目的 ...
- 趣谈网络协议笔记-二(第十九讲)
趣谈网络协议笔记-二(第十九讲) HttpDNS:网络世界的地址簿也会指错路 自勉 勿谓言之不预也 -- 向为祖国牺牲的先烈致敬! 引用 dns缓存刷新时间是多久?dns本地缓存时间介绍 - 东大网管 ...
- 趣谈网络协议笔记-二(第十八讲)
趣谈网络协议笔记-二(第十八讲) DNS协议:网络世界的地址簿 自勉 勿谓言之不预也 -- 向为祖国牺牲的先烈致敬! 正文 DNS用于域名解析,但也不仅仅是用于域名解析,不仅仅是将域名转换成IP. 在 ...
- 趣谈网络协议笔记-二(第十七讲)
趣谈网络协议笔记-二(第十七讲) P2P协议:我下小电影,99%急死你 自勉 逃离舒适区! 正文 一. P2P协议 整个篇章讲的就是这两个协议之间的区别.P2P协议就是迅雷下载数据时所用的协议, 众所 ...
最新文章
- 运维和开发慌了,Redis突然 慢 了,到底谁背锅?
- SSM实现个人博客系统
- 浅谈 Linux 内核开发之网络设备驱动
- 给共享程序集延迟签名
- Android 之UID and PID
- POJ2777 Count Color 线段树区间更新
- 请编写一个php程序,(笔试题)php练习笔试题(一)
编写程序(请任选两题)
- SpringBoot POM说明
- python正则匹配中文_python 正则表达式匹配中文-阿里云开发者社区
- Codeforces 988D Points and Powers of Two ( 思维 || 二的幂特点 )
- 史上最强NLP知识集合:知识结构、发展历程、导师名单
- 跨交换机实现 VLAN 间路由
- CSDN一般支付页面(源码)
- 快速批量下载 B 站视频
- 做前端,如何克服新技术焦虑?
- 基于php的网络教学平台,基于PHP技术的网络教学平台的设计与实现
- ios免越狱脚本实现方案,苹果手机实现自动抖音发私信且是中文输入,FN键切换输入法,最新的苹果11以上圆角的屏幕一并支持。
- 大学生计算机适合用苹果笔记本吗,2019学生党笔记本推荐 苹果笔记本适合大学生吗...
- 如何配置c/c++环境及MinGW下载与安装配置
- sqlserver ceiling函数用法
热门文章
- python中那些双下划线开头的函数和变量
- mybatisplus之Wrappers.lambdaQuery常用写法
- JQuery获取iframe中window对象方法.contentWindow
- 操作流python_python处理字节流
- 你想要的宏基因组-微生物组知识全在这(2023.5)
- 深度详解 Android 之 Context
- STM32四行【跳转程序】引申出来的几条重要知识点
- 在物流行业,领导提拔你,第三看能力,第二看态度,第一看...
- APP自动化测试神器之Appium-Python环境部署及脚本实战
- android圆形的按钮样式,android – 如何绘制一个完美的圆形按钮?