记不住的iOS代码

前言:有些代码偶尔用一次根本记不住,每次都要搜一下,在此做个记录。

1.以字符串的形式输出frame

NSLog(@"%@",NSStringFromCGRect(self.view.frame));

2.URL中有汉字的UTF-8转码

NSString*encodedString=[urlStrstringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

3.weak修饰block

__weak typeof(self) weakSelf =self;

4.粘贴板

UIPasteboard*pasteboard= [UIPasteboardgeneralPasteboard];

pasteboard.string=@"赋值粘贴";

5.枚举的写法

typedef enum{

Spring =0,//春天

Summer =1,//夏天

Autumn =2,//秋天

Winter =3//冬天

} SeaconState;

6. NSLog打印控制

#ifdef DEBUG

#define NSLog(...) NSLog(__VA_ARGS__)

#define debugMethod() NSLog(@"%s", __func__)

#else 

#define NSLog(...)

#define debugMethod()

#endif

7.含有%号的url的转码

NSString*encodeUrl = (NSString*)CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,(CFStringRef)url,(CFStringRef)@"!{{TEXTPLACEHOLDER}}'()*+,-./:;=?@_~%#[]",NULL,kCFStringEncodingUTF8));

8.block

作为一个变量

returnType(^blockName)(parameterTypes) = ^returnType(parameters) {...};

作为一个属性

@property (nonatomic, copy,nullability)returnType(^blockName)(parameterTypes);

作为一个函数的参数

- (void)someMethodThatTakesABlock:(returnType(^nullability)(parameterTypes))blockName;

方法调用

[someObject someMethodThatTakesABlock:^returnType(parameters) {...}];

typedef

typedef returnType(^TypeName)(parameterTypes);

TypeNameblockName = ^returnType(parameters) {...};

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容