记不住的iOS代码

作者: Reiko喵 | 来源:发表于2016-09-05 15:40 被阅读127次

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

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) {...};

相关文章

网友评论

    本文标题:记不住的iOS代码

    本文链接:https://www.haomeiwen.com/subject/fgprettx.html