[TwistedFate]Block 字面量

iOS BLE蓝牙开发数据传输协议详解 常用算法(AES加密 HMAC_hash PRF) 前言 这段时间参与了一款与蓝牙外设交互的项目, 以前没有涉及过数据传输方面的开发, 踩了不少坑, 同时也学到了很多东西. 此时, 项目也即将进入尾声, 有时间把这些记录一二. 本人才疏学浅, 如有错误,大佬轻喷. BLE4.0开发 这方面网上的Demo一大堆, 暂时不做太多的赘述, 只对坑点做一个摘要. 需求使然, 要对设备的接近远离有一个比较精确的计算, 使用的方案是对蓝牙的信号强度进行分析.... 阅读详情

Block ^托字符(凸起符)
Block保存的是 有特定功能的函数体
int (^Block)(int a, int b) = ^初值(跟前面类型要一致)
block重命名typedef <#returnType#>(^<#name#>)(<#arguments#>);

    int (^Block)(int a, int b) = ^int (int a, int b){
        return a + b;
    };

写⼀个 返回值为整型 参数为NSString(仅⼀个参数)的block,实现将字符串转换为整型的功能

     NSInteger (^traceBlock)(NSString *str) = ^NSInteger(NSString *str){
        NSInteger intValue = [str intValue];
        return intValue;
    };
    NSLog(@"%ld",traceBlock(@"111"));   

block的类型:NSInteger (^)(NSString *str)
block的名称:traceBlock

block的值

匿名的函数 并且类型与block类型相同
匿名函数是函数 其函数中定义的变量 存在:(栈区)
block的优势:
当把block当做一个参数,传入方法中 可以灵活掌握block的实现,也就是你传入的block实现的是什么功能,你这个方法 就实现什么功能

block排序

实现部分:填写obj和obj2的关系
实现原理: 数组中两个元素进行比较
比较后 返回值 如果前面比后面大 则交换
经此比较到最后一个元素 完成排序

compare:可以比较的类型:字符串类型 和 NSNumber类型

直接在block内部实现功能

NSMutableArray *array = [[NSMutableArray alloc] initWithObjects:@"1", @"2", @"4",@"1", nil];
[array sortUsingComparator:^NSComparisonResult(id obj1, id obj2) {
        NSString *str1 = (NSString *)obj1;
        NSString *str2 = (NSString *)obj2;
        if ([str1 compare:str2] > 0) {
            return NSOrderedDescending;
        }else if([str1 compare:str2] == 0){
            return NSOrderedSame;
        }else{
            return NSOrderedAscending;
        }
    }];
NSLog(@"%@",array);

先完成block再调用

    Person *per1 = [Person personWithName:@"秦倚天" age:18];
    Person *per2 = [Person personWithName:@"李淳罡" age:66];
    Person *per3 = [Person personWithName:@"曹长卿" age:50];
    Person *per4 = [Person personWithName:@"洛阳" age:32];
    Person *per5 = [Person personWithName:@"叶温柔" age:25];
    NSMutableArray *array = [[NSMutableArray alloc] initWithObjects:per1,per2,per3,per4,per5, nil];

    NSComparisonResult (^nameCompare)(id ,id ) = ^NSComparisonResult(id obj1,id obj2){
        Person *p1 = (Person *)obj1;
        Person *p2 = (Person *)obj2;
        if ([[p1 name] compare:[p2 name]] > 0) {
            return NSOrderedDescending;
        }else if([[p1 name] compare:[p2 name]] == 0)
            return NSOrderedSame;
        else{
            return NSOrderedAscending;
        }
    };

    [array sortUsingComparator:nameCompare];
    NSLog(@"%@",array);

block内部变量修改

1.在block的实现(值)中,直接修改局部变量是不行的
2.需要添加关键字(声明的时候) __block(两个下划线)才能修改
3.在block实现(值)中 可以直接修改全局变量 不需要添加关键字

__block int num = 5;
BOOL (^B)(NSString *, NSString *) = ^BOOL(NSString *str1,NSString *str2){
    num = 3;
    NSLog(@"%d",num);
    num2 = 5;
    NSLog(@"%d",num2);
    return [str1 isEqualToString:str2];
};
NSLog(@"%d",B(@"2313",@"2313"));

字面量

字面量,又称语法糖
切记:字面量或者语法糖初始化 用的是类方法初始化

NSArray *array1 = [NSArray arrayWithObjects:@"1",@"2",@"3", nil];
// 相当于
NSArray *arrayN = @[@"1",@"2"];
// 取出一个元素
[arrayN objectAtIndex:1];
// 相当于 array[1] 
.......
政府科技管理者如何提升科技成果转化项目进场交易的备案效率?.docx 政府科技管理者如何提升科技成果转化项目进场交易的备案效率? 立即下载

相关推荐

山区道路边坡落石隐患检测数据集VOC+YOLO格式241张1类别.md

【重要提示】本页面仅为资源介绍,不含外部下载地址 亲爱的 优快云 用户: 感谢你浏览本资源页面,在这里提前向大家说明相关情况,避免后续产生误解。本资源我设置的初衷是 0 积分免费分享文档介绍,希望可以无偿给到有需要的朋友。但 优快云 平台存在自动调控机制,系统会根据资源下载热度、文件体积、平台规则等因素,自动修改资源所需下载积分,页面显示为 1 积分、2 积分或更高积分都属于平台自动调整结果,并非我手动修改设置,我没有权限自主锁定积分数值。 如果你打开页面后,发现下载所需积分不为 0,请务必谨慎考虑是否下载。一旦你支付积分完成下载,后续遇到资源内容和描述不符、文件损坏等问题,我无法承担对应的积分损失,也没有渠道为你办理积分退还。在此强烈建议,只有页面明确显示 0 积分的时候,再进行下载操作。 同时特别说明:这份资源介绍文案里,没有附带任何外部下载地址。资源本身是通过 优快云 官方上传通道上传的附件,正常情况下直接点击页面自带的下载按钮即可获取文件。页面找不到外部下载链接属于正常情况,并非资源缺失。 如果因为平台积分显示异常,导致你被扣取积分,积分退款、积分异常相关问题,请直接联系 优快云 官方客服咨询处理。平台规则由官方制定,我无法干预积分变动,望各位理解。

OC中随机数的使用(3种):arc4random,random,CCRANDOM_0_1()

1、随机数的使用      1)、arc4random() 比较精确不需要生成随即种子        使用方法 :                  通过arc4random() 获取0到x-1之间的整数的代码如下:                 int value = arc4random() % x;                  获取1到x之间的整数的

Do not just be a pragrammer 1424

高空作业栏杆检测数据集VOC+YOLO格式230张3类别.md

【重要提示】本页面仅为资源介绍,不含外部下载地址 亲爱的 优快云 用户: 感谢你浏览本资源页面,在这里提前向大家说明相关情况,避免后续产生误解。本资源我设置的初衷是 0 积分免费分享文档介绍,希望可以无偿给到有需要的朋友。但 优快云 平台存在自动调控机制,系统会根据资源下载热度、文件体积、平台规则等因素,自动修改资源所需下载积分,页面显示为 1 积分、2 积分或更高积分都属于平台自动调整结果,并非我手动修改设置,我没有权限自主锁定积分数值。 如果你打开页面后,发现下载所需积分不为 0,请务必谨慎考虑是否下载。一旦你支付积分完成下载,后续遇到资源内容和描述不符、文件损坏等问题,我无法承担对应的积分损失,也没有渠道为你办理积分退还。在此强烈建议,只有页面明确显示 0 积分的时候,再进行下载操作。 同时特别说明:这份资源介绍文案里,没有附带任何外部下载地址。资源本身是通过 优快云 官方上传通道上传的附件,正常情况下直接点击页面自带的下载按钮即可获取文件。页面找不到外部下载链接属于正常情况,并非资源缺失。 如果因为平台积分显示异常,导致你被扣取积分,积分退款、积分异常相关问题,请直接联系 优快云 官方客服咨询处理。平台规则由官方制定,我无法干预积分变动,望各位理解。

[TwistedFate]面向对象编程、类和对象、实例变量操作

1.Objective-C简称OC,扩充⾃C语⾔的⾯向对象编程语⾔。 是OS X和iOS操作系统的主要编程语⾔ 2.OC的输出方法NSLog,比C语言的printf多一个换行 3.@符 是OC关键字的标志 C语言基本数据类型 int float char OC常用基本数据类型 NSInteger 整型 CGFloat 浮点型 NSString

Do not just be a pragrammer 738

ti-cgt-c2000-22.6.0.LTS-windows-x64-installer

ti-cgt-c2000-22.6.0.LTS-windows-x64-installer

YOLOv8 TensorRT C++部署实战详解:从XMake构建到推理流水线

本项目实现了一个基于YOLOv8和TensorRT的高性能火灾烟雾检测系统,具有以下核心特点: 技术架构:采用TensorRT 8.6+进行GPU加速推理,结合CUDA 12.1和OpenCV 4.8+,实现高效计算机视觉处理。系统使用XMake替代CMake构建,配置更简洁高效。

hscing的博客 1066

objc4源码编译与调试

源码下载 在Apple Open Source上选择对应自己的macOS版本下,下载objc4即可。 笔者是macOS Catalina 10.15.6,所以选择的是objc4-787.1版本,顺便在该页面中下载Libc,dyld,libauto,libclosure,libdispatch,libpthread,xnu,libplatform这几个依赖库,编译objc4的时候需要用到。 解决编译错误 下载完成,解压之后我们打开工程文件,运行报错unable to find sdk 'macosx.

Do not just be a pragrammer 666

android6 usb默认文件管理,不弹RSA配对提示框

本文修改针对 高通 Android6.0.1 出user版本时 https://www.cnblogs.com/Jokeyyu/p/7424262.html http://blog.youkuaiyun.com/sinc00/article/details/44957943 diff --git a/frameworks/base/packages/SystemUI/src/com/android...

木叶风的博客 692

[TwistedFate]iOS多线程编程GCD

简介iOS有三种多线程编程的技术,分别是: (一)NSThread (二)Cocoa NSOperation (三)GCD(全称:Grand Central Dispatch) 这三种编程方式从上到下,抽象度层次是从低到高的,抽象度越高的使用越简单,也是Apple最推荐使用的。三种方式的优缺点介绍:1)NSThread: 优点:NSThread 比其他两个轻量级 缺点:需要自己管理线程的

Do not just be a pragrammer 637

基于YOLOX与LPRNet的车牌检测与识别系统(Python+UI界面)实战指南

本文详细介绍了如何利用YOLOX目标检测模型与LPRNet车牌识别模型,从零构建一个完整的车牌检测与识别系统。通过解析CCPD数据集、训练深度学习模型,并最终集成到PyQt5开发的图形化UI界面中,提供了一个从数据处理到应用部署的完整实战指南,帮助开发者快速掌握智能交通系统中的关键技术。

weixin_29230901的博客 342

Tesseract OCR 字库训练教程:提高识别率进阶版

通过 Tesseract 字库训练,你可以提高 OCR 对特定文本或字体的识别能力。训练过程包括准备训练数据、生成标签文件、运行训练工具,以及将训练结果集成到实际项目中。虽然训练过程需要一些时间和精力,但对于需要高精度文本识别的场景来说,字库训练是非常有效的提升识别率的方法。

小蜗牛的珍贵百宝箱 1870

[TwistedFate] NSDictionary NSSet

1.NSDictionary不可变字典类 字典 是一个容器 跟数组一样 可以保存数据 保存的形式 是以键值对的形式 一个key对应一个value key 和 value 必须是对象 key作为钥匙 要具有唯一性 在开发中 一半使用字符串作为key值 value可以是一个很复杂的结构 例如字典里嵌套一个字典 字典里保存的键值对是无序的不可变字典切记不能进行增删操作// 用两个数组来初始化

Do not just be a pragrammer 533

高杂合度基因组组装实战:Hifiasm参数调优与purge_dups过滤效果对比(附猪毛菜案例)

本文深入探讨了高杂合度基因组组装中Hifiasm参数调优与purge_dups过滤的实战效果对比,通过猪毛菜案例详细解析了两种方法的适用场景与优化策略。文章重点分析了purge_dups在contig过滤中的显著效果,为基因组组装提供了关键的技术参考。

weixin_29232121的博客 496

iOS触摸事件理解

## 如何确定由哪个视图响应触摸事件 解决这个问题之前,我们先看下几个与之相关的类。 ### UITouch 触摸,UITouch保存着跟手指相关的信息,比如触摸的位置、时间、阶段等。 1. 当手指移动时,系统会更新同一个UITouch对象,使之能够一直保存该手指在的触摸位置。 当手指离开屏幕时,系统会销毁相应的UITouch对象。 2. 一个手指触摸一次屏幕就会生产一个UITouch对象,多个手指同时触摸屏幕,就会生成多个UITouch对象。 3. 单个手指多次触摸屏幕(类似于双击等操作...

Do not just be a pragrammer 521

利用Pandas进行高效网络数据获取

本文将重点介绍如何使用Pandas库进行网络爬虫。爬取数据是获取互联网上信息的常见方式之一,而Pandas作为一种强大的数据处理和分析工具,为我们提供了便捷的方法来处理和清洗从网页上获取的数据。文章将从爬取网页数据开始,包括使用Python的Requests库发送HTTP请求获取网页内容,并使用Pandas的功能来解析和提取所需的数据。我们还将讨论如何处理网页中的表格数据、处理和清洗数据、保存数据到文件等常见任务。

ak_bingbing的博客 1439

【Python机器学习】零基础掌握RFECV特征选择

通过应用算法,有效地识别了影响购买意愿的关键特征(浏览时长和点击数)和历史货币流通的主要因素(年代、人口和货币流通量)。这样的特征选择不仅提高了模型的解释能力,还可能用于电商推荐系统和历史研究的优化。优点总结,这种方法可以高效地找出对目标变量有最大影响的特征,进而可以用于各种实际应用场景,如电商推荐和历史研究。优点名称对应描述说明高解释性易于理解哪些特征最为重要泛化性能强通过交叉验证提高模型的稳健性应用场景多样可用于电商、金融、历史研究等多个领域。

Mr数据杨 1998

LLDB调试增强插件Chisel安装与使用教程

chisel是一款facebook出品的LLDB调试器增强插件,添加了诸如pviews,show,hide等命令,详细可以查看chisel wiki 安装 我们可以使用Homebrew来安装chisel,没有安装Homebrew的同学请戳Homebrew安装 已经安装了Homebrew可以直接使用下面的命令安装chisel brew install chisel 执行命令结果如上图表示已经完成...

Do not just be a pragrammer 505

2023推免(夏令营+套实验室)面试总结(博文附问题汇总和参考答案)

2023推免(夏令营+套实验室)面试总结(博文附问题汇总和参考答案)

m0_51339444的博客 1808

[TwistedFate]继承 初始化方法 便利构造器

1.继承的特性: - 继承是单向的 - 继承是可传递的 - 不能相互继承 - 继承:就是子类继承父类的方法和实例变量 - 继承的好处:减少代码量 提高工作效率 2.继承中方法的调用 - 使用self调用方法的时候: 优先调用本类中的方法 没有继续查找上一级,找到就调用,没有继续查找,都没有程序崩溃 - 使用super调用方法的时候: 直接跳过本类去查找上一级的父类

Do not just be a pragrammer 476

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

[TwistedFate]NSArray NSNumber NSValue

1.数组:存储的必须是对象类型 不可变数组:NSArray 不可变数组 切记不能进行增删操作 // 数组初始化方法 NSArray *array = [NSArray alloc] initWithObjects:@"王龙",@"壮壮",@"张文",@"赵杰",@"徐阳", nil]; // 便利构造器 NSArray *array1 = [NSArray arrayWithObjects

Do not just be a pragrammer 465

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

[TwistedFate]category Extensxion protocol

类目category 类目特点:可以给看不到实现的系统类添加方法 并且添加的方法 使用系统类的对象 或者 类名 直接就可以调用的切记:1.只能添加方法 不能添加实例变量 2.类目中添加的方法相当于直接添加到系统类中 是可以被继承的 注意:在实际编程中,应注意积累,对以后的编程能提供很大的便利延展Extension 或者 @implementation Function // 私有

Do not just be a pragrammer 449

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

[TwistedFate]高级内存管理 多态

内容回顾Person *p = [[Person alloc] init]; NSString *name = [[NSString alloc] initWithFormat:@"王龙"]; NSString *name1 = [[NSString alloc] initWithFormat:@"zhuanghzhua"]; p.name = name; NSLog(@"%ld",name.re

Do not just be a pragrammer 447

[TwistedFate]OC面向对象

1.OC的输出方法:NSLog(@"这是OC的第一个工程"); // 默认输出换行2.@符 是OC关键字的标志 3.C语言基本数据类型 :int float char OC常用基本数据类型:NSInteger 整型 CGFloat 浮点型 NSString 字符型 4.定义一个字符串:NSString *string = @"今天你吃了吗?"; // 如果有星* 就代表这是一个对象 //

Do not just be a pragrammer 437

copy和mutablecopy

对于系统的非容器类对象,我们可以认为,如果对一不可变对象复制,copy是指针复制(浅拷贝)和mutableCopy就是对象复制(深拷贝)。 如果是对可变对象复制,都是深拷贝,但是copy返回的对象是不可变的。 系统的容器类对象:指NSArray,NSDictionary等。对于容器类本身,上面讨论的结论也是适用的,但是注意的是,容器内的元素内容都是指针复制。如果需要元素对象也是对象复制,就需要实

Do not just be a pragrammer 436
上一篇: 处理⼯程⽂件crayons.txt
下一篇: [TwistedFate]中等通讯录
zZZ浮生
博客等级 码龄11年 12粉丝 70原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值