#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非NSStringNSLog(@"%@",username);NSString* temp = username;//强指针 NSString类应该有一个method可以赋值字符串NSLog(@"%@",temp);/* 15分钟掌握block语句 散步+思考 没有佛法 哪来武功 */NSArray *jingse = @[@"锦瑟无端五十弦,",@"一弦一柱思华年。",@"庄生晓梦迷蝴蝶,",@"望帝春心托杜鹃。",@"沧海月明珠有泪,",@"蓝田日暖玉生烟",@1,@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 = NOfor (int i = 0 ; Done ; i++) Pblock1(jingse[i],i,Done); //那么这里就要写成 (...,&done);return "C都没学好,还想学Obj-C,未免太贪心了把?";
}

Objective-C中的block块语法相关推荐

  1. 浅析ios开发中Block块语法的妙用

    事实上,任何一个应用的开发都离不开多线程.而"块"block与GCD就是苹果OC语言中多线程的核心.      一.块的内部结构      在oc中,块语法以闭包的形式存在,每一个 ...

  2. hdfs中一个block块默认多大?

    版本不同,默认大小不同.64M.128M都正确. 在Apache Hadoop中默认是64M,Cloudera Hadoop版本中默认是128M.

  3. 如何在Objective C中声明Block?

    本文翻译自http://fuckingblocksyntax.com/ 作为局部变量: returnType(^blockName)(parameterTypes) = ^returnType(par ...

  4. 初探swift语言的学习笔记(闭包 - 匿名函数或block块代码)

    很多高级语言都支持匿名函数操作,在OC中的block也为大家所熟悉,然面在swift里好像是被重新作了一个定义,不叫匿名函数,或 block了,而叫闭包(closure).下面配合代码来理解一下swi ...

  5. ARC中block块作为属性的使用笔记

    ARC中block块作为属性的使用笔记 block较难理解,根据在内存中的分布情况就分为3种类型,根据使用的情形又分为很多很多种.虽然用起来容易,但使用不当会造成内存泄露,虽然都是这么说,但你真的研究 ...

  6. linux nand 坏块_Nand Flash 中的坏块(Bad Block)

    Nand Flash 中,一个块中含有 1 个或多个位是坏的,就称为其为坏块 Bad Block. 坏块的稳定性是无法保证的,也就是说,不能保证你写入的数据是对的,或者写入对了,读 出来也不一定对的. ...

  7. Verilog初级教程(12)Verilog中的generate块

    文章目录 前言 正文 generate for generate if generate case 参考资料 本系列博文 前言 verilog中的generate块可以称为生成块,所谓生成,可以理解为 ...

  8. Objective-C中的Block

    1.Block定义 可以用一句话来表示Block:带有自动变量(局部变量)的匿名函数. 在iOS中使用"^"来声明一个Block.Block的内容是包含在"{}" ...

  9. mysql中编写匿名块_Oracle数据库之Oracle_PL/SQL(1) 匿名块

    本文主要向大家介绍了Oracle数据库之Oracle_PL/SQL(1) 匿名块,通过具体的内容向大家展现,希望对大家学习Oracle数据库有所帮助. 1. PL/SQL 简介 PL/SQL是一种比较 ...

最新文章

  1. asp.net2.0导出pdf文件完美解决方案【月儿原创】
  2. 使用command-privilege给H3C、华为设备的用户帐号授权
  3. 我是如何每周坚持 5 天自学机器学习,并拿到offer的
  4. To rename a docker image
  5. Vim 实用技术,第 1 部分: 实用技巧
  6. C#中File类的常用读取与写入文件方法的使用
  7. hibernate by example 排除某些列
  8. HDU4607(求树中的最长链)
  9. bug 执行nrm 报错internal/validators.js:121 throw new ERR_INVALID_ARG_TYPE(name, ‘string‘, value);
  10. Openstack Python 源代码的路径
  11. 查看python版本和django版本
  12. 什么是迁移学习?迁移学习的实现方法与工具分析
  13. vue中:key 和react 中key={} 的作用,以及ref的特性?
  14. 线程安全问题和Synchronized的使用
  15. linux卸载nvdia驱动_Ubuntu 卸载 Nvidia 驱动和安装最新驱动
  16. .NET的RulesEngine(规则引擎)使用
  17. python matting后如何设置透明背景
  18. 你若运行,便是晴天!
  19. Unable to load DLL 'xxx.dll': 找不到指定的模块。 (Exception from HRESULT: 0x8007007E)
  20. 野路子解决微信服务器超时会把接口重新调起n次的方法

热门文章

  1. YSlow使用指南_最新2.0使用指南中文版
  2. php 爬虫_Scrapy 爬虫完整案例-基础篇
  3. oracle有一百个人围一圈报数,案例:Oracle创建表时报session超过最大值 ORA-00018 证明递归ses...
  4. 在CSS中如何使用 when/else
  5. 使用Python查询国内 COVID-19 疫情
  6. JSP 开发环境搭建概述
  7. 详细介绍Vue的数据响应式
  8. TensorFlow自编码器(AE)实战
  9. HDU3037(卢卡斯定理)
  10. 单调栈 or 线段树扫描线 ---- E. Delete a Segment [单调栈+二分] [扫描线处理空白位置的技巧乘2]