OC中Block、protocol

SAP S/4HANA 物料分类账(ML)/实际成本核算(Actual Costing)——底表全景 & CKMLCP 执行后数据变化 插入 ML 重估凭证行项目:Dr/Cr 库存科目(期末库存调整)、Dr/Cr COGS/消耗科目(消耗重估)、Cr/Dr ML 重估抵消科目(PRY/PRV 类逻辑)also STPRS/VERPR/PEINH/LBKUM 等(但 S/4 很多“真理”在 ACDOCA)MLPP / MLPPF / MLCR / MLCRF / MLCD / CKMLMV003/004 等。Material Ledger Document(行项目明细:收货/发票价差/结算写入/重估相关)间接(PUP在CKMLCR; 阅读详情

block


1, 定义block变量
 int (^sumBlock)(int,int);
 void (^myBlock)();

2, 利用block封装代码
 ^(int a,int b){
return a - b;
 };
// 没有参数
 ^(){
NSLog(@"---------");
 };

 ^{
NSLog(@"---------");
 };

3, block访问外面变量
> block内部可以访问外面的变量
> 默认情况下,block内部不能修改外面的局部变量
> 给局部变量加上_block关键字,这个局部变量就可以在block内部修改

4, 利用typedef定义block类型
typedef int (^MyBlock)(int,int);
// 以后就可以利用MyBlock这种类型来定义block变量
MyBlock block;
MyBlock b1,b2;
b1 = ^(int a,int b){
   return a - b;
};
MyBlock b3 = ^(int a,int b){
   return a - b;
};
注意:最后要写分号(这是一个赋值语句)
 
 

protocol


1,协议的定义
 @protocol 协议名称<NSObject>
 // 方法声明列表...
 @end
 
2,如何遵守协议
 1> 类遵守协议
 @interface 类名 :父类名 <协议名称1,协议名称2>
 @end
 2> 协议遵守协议
 @protocol 协议名称 <其他协议名称1,以他协议名称2>
 @end
 
3,协议中方法声明的关键字
 1> @requited(默认)
  要求实现,如果没有实现,会发出警告(方便程序员之间的交流)
 2> @optional
   不要求实现,怎么都不会有警告 
    
4,定义一个变量的时候,限制这个变量保存的对象遵守某个协议
  类名<协议名称>*变量名;
  id<协议名称> 变量名;
  NSObject<MyProtocol> *obj;
  id<MyProtocol>obj2;
 
  如果没有遵守对应的协议,编译器会警告
 
5,@property中声明的属性也可以做一个遵守协议的限制
  @property (nonatomic,strong) 类名<协议名称> *属性名;
  @property (nonatomic,strong) id<协议名称> 属性名;
 
  @property (nonatomic,strong) Dog<MyProtocol> *dog;
  @property (nonatomic,strong) id<MyProtocol> *dog2;
 
6,协议可用定义在单独.h文件中,也可用定义在某个类中
 1> 如果这个协议只用在某个类中,应该把协议定义在该类中

 2> 如果这个协议用在很多类中,就应该定义在单独文件中


DDPM代码详细解读(2):Unet结构、正向和逆向过程、IS和FID测试、EMA优化 Diffusion Models专栏文章汇总:入门与实战 前言:大部分DDPM相关的论文代码都是基于《Denoising Diffusion Probabilistic Models》和《Diffusion Models Beat GANs on Image Synthesis》贡献代码基础上小改动的。官方的DDPM是tensorflow TPU版本,暂时没有GPU的版本。上一篇文章介绍了数据集加载,超参数的含义、关键参数的计算方法等,这一篇重点解读一下网络结构。 目录 EMA优化 训练目标. 阅读详情

相关推荐

论文阅读《Eigen-GNN: A Graph Structure Preserving Plug-in for GNNs》

好久没看论文了,感觉好生疏 关于这篇文章的大致脉络,这篇文章已经介绍过了。

且视他人之疑目如盏盏鬼火,大胆地去走你的夜路 461

OC学习之 block与Protocol

一、block 1.定义 block 其实就是一个代码块, 储存了一段代码. block是一种数据类型. block类型的变量用(^blockName)形式表示. block和函数相似, 可以有参数, 有返回值, 调用方式也相似. 但是函数必须定义在main函数的外面, block的定义位置可以任意. 函数不能访问它外部的局部变量, block可以.   2.使用

ishizhen的博客 283

uniapp实现app版本发现新版本后,自动更新

app实现自动更新

oldolder的博客 1283

OC中的block和protocol

一、block block和指向函数的指针比较相似。 1.定义block变量 #import int main(int argc, const char * argv[]) { //定义block变量,没有返回值类型,也没有形式参数 void (^myBlock)

Dream-Just do it ! 577

【Chipyard】Gemmini快速上手

Gemmini 加速器在 ResNet50 推理任务中表现出计算密集型优势,核心操作周期分布符合深度学习模型特征,推理预测流程完整且测试通过,为后续硬件优化和模型部署提供了有效参考。

2355

从2804云台电机到桌面机械臂:一个STM32/GD32玩家的FOC驱动踩坑全记录

本文详细记录了从2804云台电机到桌面机械臂的FOC驱动开发历程,涵盖了硬件选型、驱动方案优化、软件调试等关键环节。特别分享了L6234P驱动芯片的发热问题、AS5600编码器的I2C通信陷阱以及PID调参的实战经验,为DIY爱好者提供了宝贵的参考。

weixin_26897585的博客 478

黑马程序员——OC语法 block和protocol

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 一、block 1.block简介 block是一种数据类型。 block类型的数据封装了一段代码,可以在任何时候执行。(和函数相似) block可以作为函数参数或者函数的返回值,而其本身又可以带输入参数或返回值。 block跟函数很像:      1>可以

jerome3的专栏 644

PCL 建筑物点云立面和平面分割提取【2025最新版】

在建筑物点云中,立面点和平面点的法向量存在明显的差异,根据法向量在Z方向的分量设置相应得阈值即可实现立面点与平面点的分割。

点云侠的博客 1960

【OC语言】第八天·block和Protocol

-一、block    1. 格式:        1) 有参有返回值            格式:          返回值类型 (^变量名)(参数类型及个数) = ^(形参列表){                                   代码块语句;

WackoSix的博客 467

YOLOv12涨点改进 | 独家创新-注意力改进篇 | ECCV 2024 | YOLOv12引入AgentAttention代理注意力模块,兼顾 Softmax 和线性注意力优点,提高检测精度

🔥本文给大家介绍使用Agent Attention模块改进YOLOv12网络模型。其主要作用是通过引入高效的代理token来减少计算复杂度,同时保留全局上下文建模能力。相比传统的Softmax注意力,Agent Attention通过代理token聚合并广播信息,从而降低了模型在处理高分辨率图像时的计算负担,并显著提高了推理速度。其优势在于保持了目标检测中的全局信息处理能力,同时加速了生成过程,特别是在高分辨率场景下,可以提高检测精度、减少内存消耗,并提升处理速度。

Ai缝合怪、助力小伙伴高效发论文 155

uniapp(全端兼容) - 最新详细实现支付键盘功能组件,从底部弹出数字键盘输入支付密码进行付款交互效果,自定义支付密码键盘仿微信、支付宝支付键盘,1~9密码数字键盘,电商支付(详细示例代码复制运行

uniapp,微信小程序,自定义数字键盘,输入支付密码的键盘组件,uniapp小程序如何实现从底部弹出输入支付密码自定义键盘功能,uniapp小程序密码支付键盘组件插件,自定义数字键盘输入页面,怎么封装底部弹窗自定义数字键盘用于输入支付密码,uniapp小程序仿类似电商支付密码输入模态框,uniapp微信小程序平台实现自定义支付密码键盘,uniapp 密码支付,数字键盘,安全键盘,交易键盘,交易密码,交易密码输入框,uniapp自定义支付键盘: uniapp自定义支付键盘,uniapp小程序端实现键盘输入支

✅ 精选推荐文章 2905

OC语言BLOCK和Protocol总结

什么是bolck: BLOCK是什么呢?苹果推荐的类型,效率高,在运行中保存代码。用来封装和保存代码,有点像函数,BLOCK可以在任何时候执行。 BOLCK和函数的相似性: (1)可以保存代码 (2)有返回值 (3)有形参 (4)调用方式一样。 定义block变量: int (^sumblock)(int,int) 利用block封装代码: //有参数,

why_not_的专栏 597

4、风险管理、信息安全与信息管理的核心原则

本文深入探讨了风险管理、信息安全与信息管理的核心原则,涵盖Risk IT框架、ISO 31000标准以及信息安全与信息管理的关键原则。通过案例分析与实际应用挑战的解析,帮助组织更好地应对数字化时代的风险与安全问题,实现可持续发展。

bread的博客 120

黑马程序员—IOS基础之OC—block和protocol

——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! —— 第一章 block 一、block的概念和基本的使用 1、block的概念block类型是一个C级别的语法和运行机制。除了包含可执行代码外,与堆区、栈区内存绑定的变量,block是一组状态数据。 Objective-c和c++都源自于c语言,而我们定义

Dnorsunshine的博客 605

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

ios开发-OC中ARC、block和protocol的学习

----------android培训、java培训、java学习型技术博客、期待与您交流!----------   今天,我学习了OC中ARC,block,和protocol,以下是具体内容:  一.ARC的学习:     1.ARC的判断标准:         只要没有强指针指向的对象,就会被释放.     2.ARC的特点:          1)不允许调用release、

anuodexiaodi的专栏 374

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

OC - 6.block与protocol

一、block 1> 基本使用 相当于用来存放代码的代码块 效率高 若没有形参可以省略小括号 2> block与函数的相同点 可以保存代码 可以有返回值 可以有形参 调用方式一样 3> block对外部变量的访问 可以访问外部变量 默认情况下,不能在block内修改外部变量 用关键字__block修饰外部变量,就可以在blo...

136

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

OC语言的Block与Protocol(协议)

Block ● Block封装了一段代码,可以在任何时候执⾏行 ● Block可以作为函数参数或者函数的返回值,⽽而其本⾝身又可以带输⼊入参数或返回值。 ● 苹果官⽅方建议尽量多⽤用block。在多线程、异步任 务、集合遍历、集合排序、动画转场⽤用的很多 定义BLOCK变量 Int(^SumBlock)(int,int);//有参数,返回值类型为int Void...

科技区软件类AI博主 🔍 专注 AI 工具测评 / 前沿产品深度拆解 / 行业趋势预判 🚫 拒绝科技玄学,只讲人话干货 —— 从工具使用到商业落地,搭建可复用的 AI 应用框架 173

黑马程序员——OC之ARC、Block、Protocol

——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-ARC之前我们说了OC中的内存管理,很繁琐而且不易管理。ARC是自iOS 5之后增加的新特性,完全消除了手动管理内存的烦琐,编译器会自动在适当的地方插入适当的retain、release、autorelease语句。你不再需要担心内存管理,因为编译器为你处理了一切。 ARC 是编译器特性,而不是 iOS 运行时特

qq_26989441的专栏 510

⑨--OC中的block类型、协议Protocol的用法

主要内容:block数据类型、协议Protocol

Mike 721

OC语言-06-OC语言-block与protocol

一、block 1> 基本使用 相当于用来存放代码的代码块 效率高 若没有形参可以省略小括号 2> block与函数的相同点 可以保存代码 可以有返回值 可以有形参 调用方式一样 3> block对外部变量的访问 可以访问外部变量 默认情况下,不能在block内修改外部变量 用关键字__block修饰外部变量,就可以在block内修改它 4> 用typ...

agah91620的博客 149

黑马程序员————OC语言BLOCK和Protocol总结

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 什么是bolck: BLOCK是什么呢?苹果推荐的类型,效率高,在运行中保存代码。用来封装和保存代码,有点像函数,BLOCK可以在任何时候执行。 BOLCK和函数的相似性: (1)可以保存代码 (2)有返回值 (3)有形参 (4)调用方式一样。

whymerain的专栏 433

OC07block和protocol学习

一、 Block代码块1.block的数据类型 作用:用来保存代码的,在程序运行过程 保存.................

yu_4074的专栏 386

「OC」block 和 protocol

一、block (一)简介   block 是什么?苹果推荐的类型,效率高,在运行中保存代码。用来封装和保存代码,有点像函数,block 可以在任何时候执行。在多线程、异步任务、集合遍历、集合排序、动画转场用的很多。   block和函数的相似性:(1)可以保存代码(2)有返回值(3)有形参(4)调用方式一样。   标识符^       (二)基本使用   (1)定义b...

weixin_30648963的博客 95

黑马程序员——OC语言基础篇---block和protocol

------Java培训、Android培训、iOS培训、.Net培训 期待与您交流! ------- 本篇的主题:block和protocol block Block封装了一段代码,可以在任何时候执行 Block可以作为函数参数或者函数的返回值,而其本身又可以带输入参数或返回值。 苹果官方建议尽量多用block。在多线程、异步任务、集合遍历、集合排序、动画转场用的很多 标志是^

liufeng124的专栏 598

OC_ARC,block,protocol

OC.ARC,block,protocol 1 ARC ARC的判断准则:只要没有强指针指向对象,就会释放对象(函数运行结束后,变量的全都被销毁,所以不再存在强指针,内存自动释放)    1.ARC特点  1> 不允许调用release、retain、retainCount  2> 允许重写dealloc,但是不允许调用[super dealloc]  3> @propert

u012150507的专栏 429
上一篇: OC对象内存管理
下一篇: OC中Foundation框架里常用的结构体和类
Zmarvin
博客等级 码龄12年 6粉丝 72原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值