#import <Foundation/Foundation.h>

/*
OC不同于Java C++ 它没有字符串对象 只有NS对象
NS就是乔布斯第一个公司NeXt的类集合 被收购之后才有了CG类集合 统一合并到Foundation框架
以及后来的Cocoa框架 QuartZ Cocoas-2d 3d框架...
一般来说 ObjC中的类不是NS就是CG开头 并不是所有的OOP语言都支持字符串 因为C语言并不支持字符串 C只有字符数组
严格来讲 所有支持字符串的编程语言VC++ PHP Python Java Delphi Swift Objcetive-C 都不是机器语言 而是虚拟机VM语言 真正意义上的机器语言:
1.Inter的8086及arm汇编语言
2.C99(C标准委员会)
3.Pascal汇编语系(Kunth神的最爱)
Objective-C的前任就是Pascal 早期Macintosh编程就是使用汇编语言和Pascal 虽然C系Objective-C取代了汇编 基因的进化罢了
*/ //E文是学习Obj-C的必要条件 最好的路径是官方文档 有项目做当然更好
//block可以理解为闭包或者lambda也可以是函数指针 也可以是匿名内部类
char* main(int Vim, const char* Xcode[]) { NSString* inLine = @"\n=================不那么华丽的分隔符也是分隔符===================";
NSString* inLine1 = @"\n================Bruce Lee : be water,be wise==============";
inLine = [inLine stringByAppendingString:inLine1]; //[]类似Java中的.号 +类似Java中斜体static调用 -类似heap堆正体调用 //声明一个OC对象 可变NS字符串
NSMutableString* username = [[NSMutableString alloc] initWithString:@"Author 开源中国放射科科长"];
[username appendString:@"=开源中国最帅"];//注意这是可变NS对象 NSMutableString非NSString
NSLog(@"%@",username);
NSString* temp = username;//强指针 NSString类应该有一个method可以赋值字符串
NSLog(@"%@",temp); /* 15分钟掌握block语句 散步+思考 没有佛法 哪来武功 */
NSArray *jingse = @[@"锦瑟无端五十弦,",@"一弦一柱思华年。",@"庄生晓梦迷蝴蝶,",@"望帝春心托杜鹃。",@"沧海月明珠有泪,"
,@"蓝田日暖玉生烟",@,@NO]; //定义一个block块操作 return(^fpointer)(int,NS*...) = ^(int a,NS* B...){...};
void (^Pblock1)(id,NSUInteger,BOOL*) = ^(id obj,NSUInteger idx,BOOL *stop){
NSLog(@"%ld --> %@",idx,obj);
if (idx == [jingse count]) {
*stop = YES;
}
}; //①Obj-C增强for循环遍历数组
for(id element in jingse) NSLog(@"%@",element);
NSLog(@"%@",inLine); //②匿名block指针
[jingse enumerateObjectsUsingBlock:Pblock1];
NSLog(@"%@",inLine); //③杀!截取block指针
BOOL* Done = NO; //如果写的是 BOOL done = NO
for (int i = ; Done ; i++) Pblock1(jingse[i],i,Done); //那么这里就要写成 (...,&done); return "C都没学好,还想学Obj-C,未免太贪心了把?";
}

最新文章

  1. 最小生成树---Prim算法和Kruskal算法
  2. Linux 建立文件夹的链接
  3. mybatis 添加事物后 无法获取自增主键的问题
  4. wpf中UserControl的几种绑定方式
  5. hdoj 1465 不容易系列之一
  6. iOS: 学习笔记, 添加一个带界面约束的控制器
  7. php开启伪静态(2转)
  8. 基础算法-查找:线性索引查找(II)
  9. java 解析xml文档---通过XmlPullParser解析方式
  10. PHP + JavaScript + Ajax 实现无刷新页面加载效果
  11. UWP中实现大爆炸效果(二)
  12. 微服务架构 - CentOS7离线部署docker
  13. Chart控件,鼠标选择区域,可以局部放大缩小
  14. java操作elasticsearch实现查询删除和查询所有
  15. SpringSecurity个性化用户认证流程
  16. Annotation 标注
  17. 详解kubeadm生成的证书(转)
  18. ALGO-120_蓝桥杯_算法训练_学做菜
  19. 代码:CSS仿制 苹果按钮图标
  20. python web中的并发请求

热门文章

  1. 安卓linearlayout布局的一个嵌套实例
  2. 使用keil判断ARM的冷启动和热启动的方法
  3. ARM 7 用户模式下禁止/使能中断的一种方法--使用软中断 for Keil MDK
  4. Delphi Jpg和Gif转Bmp
  5. 为什么国外程序员爱用苹果 Mac 电脑?
  6. H264源码分析(四)
  7. poj 2728 Desert King(最优比例生成树)
  8. 改动分区后,导致linux上不了
  9. C#中各种计时器
  10. javascript高级知识分析——作为对象的函数