域名服务器地址seo优化与推广招聘

web/2025/10/6 22:53:30/文章来源:
域名服务器地址,seo优化与推广招聘,中企动力官网电话,山东省城乡建设厅网站1 什么是block iOS SDK 4.0開始#xff0c;Apple引入了block这一特性。字面上说#xff0c;block就是一个代码块。可是它的奇妙之处在于在内联(inline)运行的时候(这和C非常像)还能够传递參数。同一时候block本身也能够被作为參数在方法和函数间传递。这就给予了block无限的可… 1 什么是block iOS SDK 4.0開始Apple引入了block这一特性。字面上说block就是一个代码块。可是它的奇妙之处在于在内联(inline)运行的时候(这和C非常像)还能够传递參数。同一时候block本身也能够被作为參数在方法和函数间传递。这就给予了block无限的可能。      对于闭包block),有非常多定义。当中闭包就是可以读取其他函数内部变量的函数这个定义即接近本质又较好理解。对于刚接触Block的同学会认为有些绕由于我们习惯写这种程序main(){ funA();} funA(){funB();} funB(){.....}; 就是函数main调用函数A函数A调用函数B... 函数们依次顺序运行但现实中不全是这种。比如项目经理M手下有3个程序猿A、B、C当他给程序猿A安排实现功能F1时他并不等着A完毕之后。再去安排B去实现F2而是安排给A功能F1B功能F2C功能F3然后可能去写技术文档而当A遇到问题时他会来找项目经理M当B做完时会通知M。这就是一个异步运行的样例。在这种情形下Block便可大显身手由于在项目经理M给A安排工作时。同一时候会告诉A若果遇到困难怎样能找到他报告问题比如打他手机号。这就是项目经理M给A的一个回调接口要回掉的操作。比方接到电话百度查询后返回网页内容给A。这就是一个Block在M交待工作时。已经定义好。而且取得了F1的任务号局部变量却是在当A遇到问题时才调用运行跨函数在项目经理M查询百度获得结果后回调该block。 block是一个特殊的OC对象, 它建立在栈上, 而不是堆上, 这么做一个是为性能考虑,还有就是方便訪问局部变量. 默认情况下block使用到的局部变量都会被复制,而不是保留. 所以它无法改变局部变量的值. 假设在变量面前加上__block, 那么编译器回去不会复制变量, 而是去找变量的地址, 通过地址来訪问变量, 实际上就是直接操作变量. 另外块是在栈上分配的, 所以一旦离开作用域, 就会释放, 因此假设你要把快用在别的地方, 必需要复制一份. 所以在属性定义一个快的时候须要使用copy:  property (nonatomic, copy) void (^onTextEntered)(NSString *enteredText); 块是不能保留的, retain对块没有意义. 2 block 实现原理 Objective-C是对C语言的扩展block的实现是基于指针和函数指针。 从计算语言的发展最早的goto高级语言的指针到面向对象语言的block从机器的思维一步步接近人的思维以方便开发者更为高效、直接的描写叙述出现实的逻辑需求。 iOS中block实现的探究 谈Objective-C Block的实现 3 block的使用 使用实例 AcocoaTouch框架下动画效果的Block的调用 动画效果是IOS界面重要的特色之中的一个。当中CAAnimation是全部动画对象的抽象父类。作为新人使用较多的是UIView下的动画方法类方法。使用UIView下的动画有以下几个方法。 方法一设置beginAnimations 当中memberView为须要加入的子视图的视图mivc.view为子视图在使用的时候须要将这两个地方替换 须要注意的是。一定要使用[UIView commitAnimations];动画才会生效 通过[UIView setAnimationDuration:1]; 设置持续时间。 方法二 在IOS4.0后我们有了新的方法 (void)transitionWithView:(UIView *)view duration:(NSTimeInterval)duration options:(UIViewAnimationOptions)options animations:(void (^)(void))animations completion:(void (^)(BOOL finished))completion,依旧是UIView的类方法但使用到了Block对象。Block对象是一组指令能够传递像变量一样能够把它想像成C语言的函数指针。 [UIView transitionWithView:self.view duration:0.2 options:UIViewAnimationOptionTransitionFlipFromLeft animations:^{ [self.view addSubview:yellowView.view]; } completion:NULL]; B 使用typed声明block typedef void(^didFinishBlock) (NSObject *ob); 这就声明了一个didFinishBlock类型的block 然后便可用 property (nonatomic,copy) didFinishBlock  finishBlock; 声明一个block对象注意对象属性设置为copy接到block 參数时便会自己主动复制一份。  __block是一种特殊类型。 使用该keyword声明的局部变量能够被block所改变而且其在原函数中的值会被改变。 C:1 使用block和使用delegate完毕托付模式有什么长处 block不同其他变量的原因在于它不是一个单一变量, 而是一个方法, 我们要传递的是一个代码块,而且这个代码块能够存在參数, 这个參数并非在定义block的时候就赋予值, 而是我们在实际执行block的时候才赋予值.  因此对于有參数的block,当我们传递过去的时候, 它的须要接收方提供对应的參数才干执行,  这么做我们就能够在A类为B类将来会发生的事件提前做优点理的方法,即使我们还没有这些事件的详细參数. 某种意义上将这样就不须要两者之间的托付关系. 托付关系就是B类发生一个事件后,通知A类,让A类再针对这个事件进行一些处理 而使用block,则是A已经提前将这个事件的处理方法告诉了B类, 等时间发生的时候, B类无需通知A类, 直接执行实现设置好的处理方法(block)就可以. 假设你在执行一个方法的时候又想告诉这种方法在某一特定情况你还要怎么做的话, 就能够使用Block. D: GCD GCD主要使用block来取代托付模式,使程序变得简洁,同一时候执行效率也得到提高. 复制代码 static int clickNum 0; self.Mylabel [[UILabel alloc]init]; while (clickNum 20) { dispatch_async(dispatch_get_main_queue(), ^{ self.Mylabel.text [NSString stringWithFormat:%d,clickNum];//UI的绘制必须在主线程中 }); [NSThread sleepForTimeInterval:1]; } 复制代码 关于block和GCD编程能够參考这篇文章 还有这篇文章 ARC和非ARC中block的差别 ARC下Block何时会从栈自己主动被拷贝到推, 以及__block和__weak的使用问题 因为Block是默认建立在栈上, 所以假设离开方法作用域, Block就会被丢弃, 在非ARC情况下, 我们要返回一个Block ,须要 [Block copy]; 在ARC下, 下面几种情况, Block会自己主动被从栈拷贝到堆: 1.被运行copy方法 2.作为方法返回值 3.将Block赋值给附有__strong修饰符的id类型的类或者Blcok类型成员变量时 4.在方法名中含有usingBlock的Cocoa框架方法或者GDC的API中传递的时候. 对于非ARC下, 为了防止循环引用, 我们使用__block来修饰在Block中有用的对象: __block id blockSelfself; self.blk^{ NSLog(%,blockSelf);  //在非ARC下对于栈上的_block对象, Block不会对其复制, 只使用, 不会添加引用计数. }; 对于ARC下, 为了防止循环引用, 我们使用__weak来修饰在Block中有用的对象: __weak id weakSelfself; self.blk^{ NSLog(%,weakSelf); }; 假设要在ARC下, 为了防止循环引用, 使用__block来修饰在Block中有用的对象,仍然会被retain, 所以须要多做一些设置 __block id blockSelfself; self.blk^{ NSLog(%,blockSelf); self.blknil;   //blk被释放, blk仅仅有的blockSelf也就被释放了 }; blk();   //而且一定要执行一次, 否则不能被释放 这样就使blk断开了与blockSelf的持有关系. 这么多优点是能够自己控制对self的持有时间. 只是在最新的ios版本号中, 这些会始终被已叹号形式提示存在循环引用问题.  这样的书写方式不被推荐. 除非你要在block中改动__block的指针指向. 事实上我们用使用__weak修饰符, 仅仅是不能改动对象本身, 可是能够改动对象的属性.  转载于:https://www.cnblogs.com/liguangsunls/p/6702195.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/88141.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

阿里云学生认证免费服务器网站seo外链平台

01、函数指针1.1、函数指针定义一个函数总是占用一段连续的内存区域,函数名在表达式中有时也会被转换为该函数所在内存区域的首地址,这和数组名非常类似。我们可以把函数的这个首地址(或称入口地址)赋予一个指针变量,使…

摄影网站的建设的论文商店设计效果图

目录 1. Nginx在CentOS上的安装部署 1.1 Nginx简介 1.2 Nginx安装 1.2.1 安装yum依赖程序 1.2.2 手动添加,nginx的yum仓库 1.2.3 通过yum安装最新稳定版的nginx 1.2.4 启动 1.2.5 配置防火墙放行 1.2.6 启动后浏览器输入Linux服务器的IP地址或主机…

网站审核备案 几天天津网站快速备案

在浏览器gerrit的设置界面设置的邮箱地址和在命令行使用git config --gloable user.email设置的邮箱地址必须保持一致吗 在浏览器gerrit的设置界面设置的邮箱地址和在命令行使用git config --global user.email设置的邮箱地址并不一定需要保持一致。这两个邮箱地址是独立的&am…

网站建设的费用是不是含税的哪个小说网站防盗做的好

组件拆分 先把项目搭建时生成的代码给清了吧 现在static目录下引入reset.css 接着在index.html引入&#xff0c;并且设置<meta> 有时候呢&#xff0c;为了让代码符合我们平时的编码习惯&#xff0c;我们可以在ESLint进行设置&#xff0c;如下&#xff1a; 回到入口js文件…

网站开发文件综述沈阳商城网站开发

开关式智能充电机-全自动充电机-铅酸电池充电机品牌-济南能华NHCD系列 全自动智能充电机&#xff0c;可调智能充电机&#xff0c;可调直流充电机&#xff0c;可调全自动充电机 &#xff0c;可调蓄电池充电机 便携式可调智能充电机 便携式全自动充电机 大功率可调充电机 大功率智…

网站建设与发布的预算专业网站设计的公司

H263码流尺寸规格有限&#xff0c;只有以下几种&#xff1a; H263码流有四个分层&#xff1a; 1、图像层 2、块组 3、宏块 4、块 下面分别介绍&#xff1a; 具体介绍如下&#xff0c;5.1.3中红色框选部分就是压缩码流的宽高指示&#xff1a; 图像层 上面就是H263的图像层&am…

网站建设运营成本上海网站建设上海员君

出生于中国镇江的艺术家刘汉清&#xff0c;其作品展现出他对日常生活的深入洞察力&#xff0c;以及对美的独特理解。他的作品通常没有视觉参考&#xff0c;而是通过对他周围环境的理解&#xff0c;尤其是他的宠物&#xff0c;来进行创作。 在刘汉清的创作过程中&#xff0c;他…

网站首页布局有哪些网站域名到期不续费会怎么样

ChatGPT无限次数:点击直达 利用ChatGPT提升学术论文写作技巧 在当今信息爆炸的时代&#xff0c;学术界对于深入研究和撰写高质量论文的要求越来越高。然而&#xff0c;许多研究人员和学生常常感到写作过程困难&#xff0c;需要花费大量时间和精力。这时候&#xff0c;人工智能…

网站建设投标评分标准服务器512m内存做网站

回顾在文章《朴素贝叶斯》中&#xff0c;小夕为大家介绍了朴素贝叶斯模型的基本知识&#xff0c;并且得出了朴素贝叶斯是利用联合概率P(x1,x2,x3...xn,y)来确定某个样本为某个类别的概率&#xff0c;进而利用最大后验概率&#xff08;MAP&#xff09;来决策类别。也就是说&…

陕西省建设厅网站安全员报名唐山最新消息今天

导体三极管中参与导电的有两种极性的载流子&#xff0c;所以也称为双极型三极管。本文将介绍另一种三极管&#xff0c;这种三极管只有一种载流子参与导电&#xff0c;所以也称为单极型三极管&#xff0c;因为这种管子是利用电场效应控制电流的&#xff0c;所以也叫场效应三极管…

30分钟网站建设教程视频5000人网站开发

文章目录 一、类的6个默认成员函数二、日期类的实现2.1 运算符重载部分2.2 日期之间的运算2.3 整体代码1.Date.h部分2. Date.cpp部分 三. const成员函数四. 取地址及const取地址操作符重载扩展内容 总结 ヾ(๑╹◡╹)&#xff89;" 人总要为过去的懒惰而付出代价ヾ(๑╹◡…

怎么用ps做网站首页字公共资源交易中心是属于哪个部门

vite的简介 官方文档 刚起步学习&#xff0c;所以我们只需要按照官方文档的入门流程即可。推荐阅读一下官网的为什么使用vite vite目前需要的node版本是18&#xff0c;可以参考上一篇文章的安装nvm&#xff0c;用来进行多版本的node管理。 vite安装与使用 npm create vitela…

网站建设系wordpress手机插件6

本项目为前几天收费帮学妹做的一个项目&#xff0c;Java EE JSP项目&#xff0c;在工作环境中基本使用不到&#xff0c;但是很多学校把这个当作编程入门的项目来做&#xff0c;故分享出本项目供初学者参考。 一、项目描述 基于swing的小区物业管理系统 系统有1权限&#xff1…

网站上做推广方案济宁亿峰科技做网站一年多少费用

基于LabVIEW软件开发的电路板故障诊断系统&#xff0c;涵盖功能测试、性能测试和通讯测试等多个方面。系统集成了多种硬件设备&#xff0c;包括NI PXI-1033机箱、NI PXI-4071数字万用表、NI PXI-4130电源模块、NI PXI-8512 CAN模块等&#xff0c;通过模块化设计实现了对电路板的…

山东兽药网站建设企业信息管理平台

转自&#xff1a;http://blog.csdn.net/harry211/article/details/8453532 调试程序需要打印一些消息出来&#xff0c;logcat不好用的话就很麻烦了。这个问题折腾了好久&#xff0c;为啥就是不出来呢&#xff1f; 上网找了很多解决办法&#xff1a; 重启eclipse 重启adb 重启…

专业个人网站建设求个免费网站

中介者模式的定义 中介者模式, 当多个类彼此关联, 会增大耦合性, 这时各个模块通过中介者进行交流, 每个模块只负责自己的业务逻辑, 不属于自己的就丢给中介者, 降低耦合 定义: 用一个中介对象封装一系列的对象交互, 中介者使各对象不需要显示的相互作用,从而使其耦合松散,而…

网站收录突然减少企业查询天眼查入口

一.前情提要 1.主要是代码示例&#xff0c;具体内容需自己填充 2.代码后是详解 二.代码实例和解析 代码 <!DOCTYPE html> <html lang"zh-CN"> <head> <meta charset"UTF-8"> <title>自我介绍页面</title>…

济宁做公司网站青岛代理记账公司排名

在信息爆炸的时代&#xff0c;新闻行业对于内容生产的效率和质量有着极高的要求。AI技术的发展为新闻创作带来了新的变革契机&#xff0c;借助AI智能写作助手&#xff0c;新闻工作者可以快速生成新闻稿件的初稿&#xff0c;大大提高创作效率。本文将基于HarmonyOS NEXT API 12及…

网站在哪里设置域名自己做网站引用别人的电影

H.264 压缩与编解码原理 H.264 压缩与编解码原理H.264 简介视频编码的总体思路H.264 压缩技术帧内预测压缩什么是空间冗余&#xff1f;具体预测方法 帧间预测压缩什么是时间冗余&#xff1f;具体预测方法&#xff1a;运动估计 概念&#xff1a;Group of Pictures&#xff08;GO…

网站风格设计要素松江网站建设多少钱

前言 该篇文章主要总结的是自己平时工作中使用频率比较高的Xml文档操作的一些常用方法和收集网上写的比较好的一些通用Xml文档操作的方法&#xff08;主要包括Xml序列化和反序列化&#xff0c;Xml文件读取&#xff0c;Xml文档节点内容增删改的一些通过方法&#xff09;。当然可…