当前位置: 首页 > news >正文

阿里企业的网站建设江门网站制作开发

阿里企业的网站建设,江门网站制作开发,托管的服务器如何做网站,wordpress swatchdemo贴上我的github blockOne 块类似于匿名函数或闭包#xff0c;在许多其他编程语言中也存在类似的概念。 Block 以下是块的一些基本知识#xff1a; 块的定义#xff1a;块是由一对花括号 {} 包围的代码片段#xff0c;可以包含一段可执行的代码。块的定义使用 ^ 符号…demo贴上我的github blockOne 块类似于匿名函数或闭包在许多其他编程语言中也存在类似的概念。 Block 以下是块的一些基本知识 块的定义块是由一对花括号 {} 包围的代码片段可以包含一段可执行的代码。块的定义使用 ^ 符号并可以带有参数列表和返回类型。例如 ^{// 代码块的内容 } 块的类型块也是一种数据类型与函数类似。它们可以具有参数和返回值类型。可以使用 typedef 来定义块的类型。例如 typedef returnType (^BlockTypeName)(parameterTypes); 其中 returnType 是块的返回类型BlockTypeName 是块的类型名称parameterTypes 是块的参数类型。 3. 块的赋值和调用块可以赋值给变量并且可以像函数一样进行调用。可以使用 运算符将块赋值给变量然后使用该变量调用块。例如 ReturnType (^blockName)(ParameterTypes) ^ReturnType (Parameters) {// 块的内容 }; blockName(argumentValues); // 调用块 块的捕获变量块可以捕获其定义范围内的变量并在块内部访问这些变量。捕获的变量在块中形成了一个闭包可以在块的[[生命周期]]内保持其状态。例如 NSInteger outsideVariable 10; void (^block)(void) ^{NSLog(Outside variable: %ld, (long)outsideVariable); }; block(); // 输出Outside variable: 10在这个例子中块捕获了外部的 outsideVariable 变量并在块内部访问它。 默认情况下为块所捕获的变量是不可以在块里面修改的如果修改了outsideVariale的值就会报错声明变量的时候可以加上__block修饰符这样就可以在块内修改了 块作为参数块可以作为方法或函数的参数进行传递从而实现回调和异步操作等功能。可以将块作为参数声明并在调用方法或函数时传递块。例如 - (void)performOperationWithCompletion:(void (^)(void))completionBlock {// 执行操作// 操作完成后调用块completionBlock(); }// 调用方法传递块作为参数 [self performOperationWithCompletion:^{NSLog(Operation completed!); }]; 在这个例子中performOperationWithCompletion: 方法接受一个块作为参数并在操作完成后调用该块。 #pragma mark **--修改为块所捕获的变量**NSArray *array [0, 1, 2, 3, 4, 5];**__block** NSInteger count 0;//块作为方法的参数[array enumerateObjectsUsingBlock:^(NSNumber *number, NSUInteger idx, **BOOL** *stop) {**if** ([number compare:2] NSOrderedAscending) {count;}NSLog(%ld%,(**unsigned** **long**)idx, number);}];NSLog(%ld, (**long**)count);//内联块的用法传给“numberateObjectsUsingBlock:方法的块并未先赋给局部变量而是直接在内联函数中调用了如果块所捕获的变量类型是对象类型的话那么就会自动保留它系统在释放这个块的时候也会将其一并释放。这就引出了一个与块有关的重要问题块本身可以视为对象在其他oc对象能响应的选择子中很多块也可以响应最重要的是块本身也会像其他对象一样有引用计数为0时块就回收了同时也会释放块所捕获的变量以便平衡捕获时所执行的保留操作//如果块定义在oc类的实例方法中那么除了可以访问类的所有实例变量之外还可以使用self变量块总能修改实例变量那么除了声明时无需添加__block。不过如果通过读取或写入操作捕获了实例变量那么也会自动把self给捕获了因为实例变量是与self所指代的实例关联在一起的。// 需要注意的是(self也是一个对象也会被保留如果在块内部使用了实例变量块会自动对self进行保留操作以确保在块执行期间保持对象的有效性。但是如果在块内部直接使用了self并对其进行读取或写入操作那么self也会被捕获从而导致循环引用的问题。为了避免循环引用可以在块内部使用__weak修饰符来避免对self进行保留操作。如果某个实例在执行anInstanceMethod放法那么self变量就会指向此实例。由于块里没有明确使用self变量所以很容易就会忘记self变量其实也为块所捕获了。直接访问实例遍历和通过self来访问时等效的 self-_anInstanceVariable “someThing”; typedef void(^SomeBlock) (void); property (nonatomic, copy) BlockName someBlock; - (void)anInstanceMethod {self.someBlock ^ {_anInstanceVariable someThing;}}self也是个对象因而块在捕获它时也会将其保留。如果self所指代的那个对象同时也保留了块那么这种情况就会导致“保留环” 修改为以下代码即可 typedef void(^SomeBlock) (void); property (nonatomic, copy) BlockName someBlock; __weak typeof(self)weakSelf self; - (void)anInstanceMethod {self.someBlock ^ {weakSelf.anInstanceVariable someThing;}}
http://www.dnsts.com.cn/news/254089.html

相关文章:

  • 网站建设招标方案模板免费的网页游戏
  • 通过平台建网站wsp网站开发
  • 小学网站模板西安做网站哪家好
  • 做网站必须要买空间wordpress视频手机版
  • 学做标书的网站网站 建设在作用是什么意思
  • 淘宝做链接的网站大站网站建设
  • 做近代史纲要题的网站c asp.net 做网站
  • 做网站要学多久wordpress win主机
  • 张东敏 上海 科技 网站建设优化大师官方下载
  • 免费建网站软件系统公司建网站制作平台
  • 湛江宇锋网站建设公司简介怎么写模板
  • 阜阳市城乡建设网站绍兴网站公司网站制作
  • 哪些网站可以做淘宝客成都网站建设服务平台
  • 英特尔nuc做网站服务器郑州商城app制作
  • 怎么做优惠卷网站网站建设管理风险
  • 建设一个企业网站需要多少钱百度 官网
  • 军博网站建设公司如何用front怕个做网站
  • 百度广告一级代理seo实战密码百度云
  • 黑龙江省建设厅网站站长胶南建网站
  • discuz论坛 整合到网站网站流量到底怎样赚钱的
  • 成都网站建设推来客怎么自己制作图片
  • 微信公众号外链接网站开发seo外链工具下载
  • 徐水区城市建设网站心理医院网站优化服务商
  • wordpress 数据表 插件做seo网站营销推广
  • 那曲地区建设局网站杨凌企业网站建设
  • 关于招聘的网站开发图做游戏难吗比做网站
  • 学做网站开发要1万6如何做企业网站加v
  • 做网站媒体最好看免费观看视频大全
  • 哈尔滨网站设计多少钱各大门户网站用什么做的
  • 上海最好网站建设公司优化工作流程