小工具      在线工具  汉语词典  css  js  c++  java


// - weak & strong
#define myWeakify(VAR) \
try {} @finally {} \
__weak __typeof__(VAR) VAR##_myWeak_ = (VAR)

#define myStrongify(VAR) \
try {} @finally {} \
__strong __typeof__(VAR) VAR = VAR##_myWeak_

#define myStrongifyRetVIfNil(VAR, RET) \
try {} @finally {} \
__strong __typeof__(VAR) VAR = VAR##_myWeak_;\
if(VAR == nil) return RET

#define myStrongifyRetNIfNil(VAR) \
try {} @finally {} \
__strong __typeof__(VAR) VAR = VAR##_myWeak_;\
if(VAR == nil) return

使用如下:

- (void)handleFromVC
{
    NSArray *viewControllers = self.navigationController.viewControllers;
    @myWeakify(self);
    [viewControllers enumerateObjectsWithOptions:NSEnumerationReverse usingBlock:^(id  _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
        @myStrongifyRetNIfNil(self);
        //代码
    }];
}


. . .

相关推荐

额外说明

【idea调试】 调试时怎么回退 Jump to Line 插件

场景 每次调试因按下一步太快,而跳过了想要分析的那一段代码,这时,我们就会跳完所有 断点再运行一次, 有没有办法退到上一步呢? 解决方案 安装插件 操作 旧idea2022.1版本之前 按下面小图标,就会清除当前,跳到上一个断点 注意,低版本的,没法在同

额外说明

Microsoft SQL Server数据库使用(1)

一、Microsoft SQL Server安装 注:下面使用 Microsoft SQL Server 2019 数据库练习使用可以在我的资源下载中下载数据库脚本文件。 1.安装SQL准备工作 (1)、如果之前或当前电脑已经安装了Microsoft S

额外说明

机器学习 第一节 第七课

[toc] 给图像添加描述信息 执行结果:

额外说明

字典树(Trie树)

目录 题目1   代码 题目2  ​代码 ---代码分析 -Trie树- 用处:高效地存储字符串集合的数据结构 概述:就是一个树状结构的存储方式,使用二维数组来存储,其中包含了父结点和子结点,从上向下开始遍历,看是否能够找到对应的结点,从而判断能否找到对

额外说明

数据库之分库分表

经常会听说数据库的分库分表,工作后更是发现这是一个基本必备的知识,由于自己对这块了解不是很好,所以就最近在关注学习,下面把学习到的东西总结一下,如有错误,请大家帮忙纠正! 从两个W一个H了解,What?Why?How? 1.What(什么是分库分表)?

额外说明

【Python 千题 —— 基础篇】分割有效信息

题目描述 题目描述 有时候我们需要截取字符串以获取有用的信息,比如对于字符串 “日期:2010-10-29”,我们需要截取后面的 10 个字符来获取日期,以便进行进一步分析。编写一个程序,输入一个字符串,然后输出截取后的字符串的后 10 个字符。 输入描

额外说明

【Java 基础篇】Java StringBuffer详解:更高效的字符串处理

在Java编程中,字符串是一个常见的数据类型,用于存储文本信息。然而,与字符串相关的操作可能会导致性能问题,因为字符串是不可变的,每次对字符串进行操作都会创建一个新的字符串对象。为了解决这个问题,Java提供了StringBuffer类,它允许我们有效地

额外说明

【Vue学习-element-ui】用户信息列表的实现

一、效果 二、功能实现     1.显示所有用户信息      后端查询所有用户信息,前端axios请求获取所有用户信息的JSON字符数组,将获取的信息放在一个allUsers的数组中,用于拉取所有信息(便于查询之后,能够再查询回来)。再把信息赋给tab

额外说明

ZooKeeper【基础 04】控制权限ACL(原生的 Shell 命令)

why 为了避免存储在 Zookeeper 上的数据被其他程序或者人为误修改,Zookeeper 提供了 ACL(Access存取 Control Lists) 进行权限控制。只有拥有对应权限的用户才可以对节点进行增删改查等操作。 use 1. 设置与查

额外说明

Windows系统缺少MSVCP60.DLL文件导致程序无法运行问题

其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个MSVCP60.DLL文件(

ads via 小工具