OC常用代码
[operation2 addDependency:operation1];表示operation1优先级更高
return obj1.integerValue > obj2.integerValue;表示从小到大
typedef void (^MJClassesEnumeration)(Class c, BOOL *stop);
- (void)setBlockWithString:(void(^)(NSString *string))string;
@property (nonatomic , copy) void (^complectionBlock)();
int (^sumOfNumbers)(int a, int b) = ^(int a, int b) {
return a + b;
};
typedef NS_ENUM(NSInteger,JHCircleViewStyle) {
JHCircleViewStepsStyle,
JHCircleViewSleepStyle
};
static const char MJObjectClassInArrayKey = '\0';
static const void *IntegerProperty = &IntegerProperty;
C语言知识
C数组输出枚举
int systemAccessoryWidths[] = {
[UITableViewCellAccessoryNone] = 0,
[UITableViewCellAccessoryDisclosureIndicator] = 34,
[UITableViewCellAccessoryDetailDisclosureButton] = 68,
[UITableViewCellAccessoryCheckmark] = 40,
[UITableViewCellAccessoryDetailButton] = 48
};
NSLog(@"systemAccessoryWidths:%zd",systemAccessoryWidths[UITableViewCellAccessoryCheckmark]);
十六进制转有符号十进制
Byte byte[20] = {0x40,0x81,0x20,0xfe,0x00,0x1f,0x08,0x00};
for (int i = 0; i < 10; i++) {
char c = byte[i];
printf("%d \n",c);
}
Xcode工具
Xcode更新7.2 之后注释插件失效的解决办法
打开终端,输入以下代码:
defaults read /Applications/Xcode.app/Contents/Info DVTPlugInCompatibilityUUID
获取到DVTPlugInCompatibilityUUID
然后在终端输入:
find ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins -name Info.plist -maxdepth 3 | xargs -I{} defaults write {} DVTPlugInCompatibilityUUIDs -array-add E0A62D1F-3C18-4D74-BFE5-A4167D643966
重启XCode
加快XCode编译速度(其中N表示命令行返回的参数,一般为1)
//16G
hdid -nomount ram://33554432
newfs_hfs -v DerivedData /dev/rdiskN
diskutil mount -mountPoint ~/Library/Developer/Xcode/DerivedData /dev/diskN
NSAppTransportSecurity
NSAllowsArbitraryLoads
关于layoutSubview
1.初始化不会触发layoutSubviews,但是如果设置了不为CGRectZero的frame的时候就会触发。
2.addSubview会触发layoutSubviews
3.设置view的Frame会触发layoutSubviews,当然前提是frame的值设置前后发生了变化
4.滚动一个UIScrollView会触发layoutSubviews
5.旋转Screen会触发父UIView上的layoutSubviews事件
6.改变一个UIView大小的时候也会触发父UIView上的layoutSubviews事件
命令行
举例说明:
设定2012年9月3日23:15分关机:sudo shutdown -h 1209032315
设定2012年9月3日23:15分重启:sudo shutdown -r 1209032315
设定2012年9月3日23:15分睡眠:sudo shutdown -s 1209032315
删除所有txt后缀的文件:find . -name "*.txt" | xargs rm -f
Git相关
pod install --verbose --no-repo-update
git clean -xfd
//在用上述 git clean 前,墙裂建议加上 -n 参数来先看看会删掉哪些文件,防止重要文件被误删
git clean -nxfd
新建仓库
mMac:AP0070 humingmin$ git remote remove origin 或者git init
mMac:AP0070 humingmin$ git remote add origin http://192.168.0.10:3000/smartmovt_iOS/AP0070.git
mMac:AP0070 humingmin$ git push origin master 或者git push -u origin master -f
代码块
/**
<#(nullable NSString *)#>
*/
/*<#(nullable NSString *)#>*/
#define WeakObj(o) __weak typeof(o) weak##o = o
@property(nonatomic, weak) <#CGFloat x#> *<#CGFloat x#>;
@property(nonatomic, strong) <#CGFloat x#> *<#CGFloat x#>;
@property(nonatomic, copy) <#CGFloat x#> <#CGFloat x#>;
@property(nonatomic, assign) <#CGFloat x#> <#CGFloat x#>;
#warning <#key#>---------------------------------
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
}
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
}
[UIColor colorWithRed:arc4random_uniform(255)/255.0 green:arc4random_uniform(255)/255.0 blue:arc4random_uniform(255)/255.0 alpha:1];
#pragma mark <#arguments#> ------------------------------
- (void)layoutSubviews {
[super layoutSubviews];
}
- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) {
}
return self;
}
- (instancetype)initWithFrame:(CGRect)frame {
if (self = [super initWithFrame:frame]) {
<#statements#>
}
return self;
}
- (instancetype)init {
if (self = [super init]) {
<#statements#>
}
return self;
}
UIView * view = [[UIView alloc]initWithFrame:CGRectMake(0, 0, <#CGFloat width#>, <#CGFloat height#>)];
view.center = CGPointMake(<#CGFloat x#>, <#CGFloat y#>);
view.backgroundColor = [UIColor cyanColor];
[self addSubview:view];
UITextField *textField = [[UITextField alloc]initWithFrame:CGRectMake(<#CGFloat x#>, <#CGFloat x#>, <#CGFloat x#>, <#CGFloat x#>)];
textField.borderStyle = UITextBorderStyleNone;
textField.font = [UIFont systemFontOfSize:<#CGFloat x#>];
textField.textAlignment = NSTextAlignmentLeft;
textField.adjustsFontSizeToFitWidth = YES;
textField.backgroundColor = <#CGFloat x#>;
textField.textColor = <#CGFloat x#>;
textField.keyboardType = UIKeyboardTypeNumbersAndPunctuation;
textField.placeholder = <#CGFloat x#>;
[self.view addSubview:textField];
//[textField setValue:SupportTextColor forKeyPath:@"_placeholderLabel.textColor"];
//textField.delegate = self;
self.window.backgroundColor = [UIColor whiteColor];
self.window.rootViewController = [[UINavigationController alloc] initWithRootViewController:[[NSClassFromString(@"<#NSString * _Nonnull aClassName#>") alloc]init]];
ViewController * vc = [[ViewController alloc]init];
UINavigationController * nav = [[UINavigationController alloc]initWithRootViewController:vc];
self.window.rootViewController = nav;
UILabel * label = [[UILabel alloc]initWithFrame:CGRectMake(0, 0, <#CGFloat width#>, <#CGFloat height#>)];
label.center = CGPointMake(<#CGFloat x#>, <#CGFloat y#>);
label.text = NSLocalizedString(<#key#>, nil);
label.textColor = [UIColor blackColor];
label.textAlignment = NSTextAlignmentCenter;
label.font = [UIFont systemFontOfSize:<#(CGFloat)#>];
[self.view addSubview:label];
UIImageView * imageView = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, <#CGFloat width#>, <#CGFloat height#>)];
imageView.image = [UIImage imageNamed:@"<#CGFloat x#>"];
imageView.center = CGPointMake(<#CGFloat x#>, <#CGFloat y#>);
[self.view addSubview:imageView];
UIButton * button = [[UIButton alloc]initWithFrame:CGRectMake(<#CGFloat x#>, <#CGFloat y#>, <#CGFloat width#>, <#CGFloat height#>)];
[button setTitle: NSLocalizedString(<#key#>, nil) forState:UIControlStateNormal];
[button setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
[button addTarget:self action:@selector(<#click#>) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:button];
extern NSString * const <#key#>;
NSString *const <#key#> = @"<#key#>";
- (void)click {
}
用命令行查找某段代码
grep -i "prefs:root=" . -r -n