小工具      在线工具  汉语词典  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);
        //代码
    }];
}


. . .

相关推荐

额外说明

在ubuntu20.04中设置静态IP地址

设置静态IP sudo vi /etc/network/interfaces auto lo iface lo inet loopback auto enp0s3 #iface enp0s3 inet dhcp iface enp0s3 inet s

额外说明

leetcode22(括号生成)

题目:数字n代表生成括号的对数,请你设计一个函数,能够生成所有可能的并且有效的括号组合 示例: 输入:n=3 输出: ((())) (()()) (())() ()(()) ()()() 题解(一):最简单暴力的做法就是找出所有 ‘ ( ’ 、 ‘ )

额外说明

GIT03_初始化init、查看状态、添加add、删除rm、commit提交、历史版本reflog、忽略文件gitignore

文章目录 ①. 工作目录、暂存区、版本库概念 ②. 设置用户签名(配置SSH) ③. 初始化坏境配置 init ④. 查看文件状态 status ⑤. 添加到暂存区、撤回到工作目录 add|reset ⑥. 删除文件 rm ⑦. 提交到版本库、形成历史版

额外说明

端口复用和重映射

(部分重映射:部分管脚重新映射到其他管脚;完全重映射:所有管脚都重新映射到其他管脚;) 1 端口复用功能  所以,我们在使用复用功能的是时候,最少要使能2 个时钟:  1) GPIO时钟使能  2) 复用的外设时钟使能  同时要初始化GPIO以及复用外设

额外说明

AST注入-从原型链污染到RCE

文章目录 概念 漏洞 Handlebars pug 例题 [湖湘杯 2021 final]vote 概念 什么是AST注入 在NodeJS中,AST经常被在JS中使用,作为template engines(引擎模版)和typescript等。对于引擎模版

额外说明

前端(十六)——微信小程序语音转文字,文字转语音功能的实现

-博主:小猫娃来啦 -文章核心:微信小程序语音转文字,文字转语音功能的实现 文章目录 资源下载链接 最关键的问题 控制台报错30003 语音转文字 文字转语音 效果图 应用场景 作用和优势 实现思路 资源下载链接 CSDN资源下载:点此去下载 Gitee

额外说明

事件冒泡学个透

事件冒泡,这一逻辑学名词对于很多初次学习JavaScript的程序员还是比较抽象,我想尝试用一种直观的方式,在这里将这个东西讲透。 首先我们去查看了事件冒泡的百度解释: 当事件发生后,这个事件就要开始传播(从里到外或者从外向里)。为什么要传播呢?因为事件

额外说明

Windows系统缺少丢失odbcint.dll文件导致程序异常的解决办法

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

额外说明

在社交媒体时代推广您的博客(BlogWorld LA 2011)

布雷特·格林 (Brett Green)、珍妮·克鲁克斯 (Jeannine Crooks)、多伊莉·阿尔比 (Doylee Albee) 和约书亚·多尔金 (Joshua Dorkin) 的精彩小组讨论。该小组由戴夫·泰勒主持。 布雷特·格林 (Bre

ads via 小工具