持续更新...
Copy/assign/weak/stong/retain使用总结
什么情况用什么类型?
-
@property (nonatmic, copy/assing/weak/strong)
-
Copy- string/NSMutableString/block
-
Assign-基本数据类型
-
Weak-ui控件 代理 id<delegate> delegate
-
Strong-其他类的成员变量. 其他oc对象
-
strong强指针 强引用,只要有指针还连接着该对象,那么该对象就不会被销毁。 (循环引用,内存泄露)
-
weak弱指针 弱引用,只要该对像为空,那么所有指针都为空。
-
iOS5以后 retain = strong assign = weak
//打印各种结构体
NSLog(@"%@", NSStringFromCGPoint(self.view.center)); *//打印结构体*
自定义ui控件property使用strong还是weak
//如果使用strong
@property (nonatomic, strong) UIDatePicker *myDatePicker;
self.myDatePicker = [[UIDatePicker alloc] init];
直接操作self.myDatePicker
//如果使用weak
@property (nonatomic, weak) UIDatePicker *myDatePicker;
UIDatePicker *myDatePicker = [[UIDatePicker alloc] init];
myDatePicker.center = self.view.center;
[self.view addSubview:myDatePicker];
self.myDatePicker = myDatePicker;
//监听值的改变
[self.myDatePicker addTarget:self action:@selector(datePickerDateChanged:) forControlEvents:UIControlEventValueChanged];
info.plist文件介绍:修改app名称
Bundle name $(product_name) 对应软件名称, 修改后需要clean, 卸载原先软件
.pch头文件内容 全局共用
#ifdef __OBJC__ //下边定义只能用到.m .mm文件
//自动打开关闭日志功能
#ifdef DEBUG //调试阶段
#define DWLog(...) NSLog(__VA_ARGS__) //一键注释所有log
#else //发布阶段
#define DWLog(...)
#endif
#endif
PCH使用
https://www.jianshu.com/p/2e839ef4768d
创建不包含stoaryboard的项目
- 删除sb
- 去除plist中的main入口
保存透明文件到相册-code
//保存到手机相册时,就变成了白色底
NSData* data = UIImagePNGRepresentation(image);
UIImage* pngImage = [UIImage imageWithData:imageData];
UIImageWriteToSavedPhotosAlbum(pngImage, nil, nil, nil);
xcode设置中文属性
- 在info.plist中设置local属性为china
无法显示模拟器
方法一:
1.关闭Xcode。
2.找到要打开的应用程序的:程序名.xcodeproj,右键-显示包内容。
3.看到里面有三个文件:project.pbxproj、project.xcworkspace和xcuserdata。把整个xcuserdata拖进废纸篓。
4.重新打开应用程序就好了。
方法二:
也搜索到有人用这个方法,不知道行不行:在打开的应用程序中找到:target->built settings->Architectures->Base SDK.改成需要的iOS版本
方法三:
修改一下 project支持的ios版本 ,因为我们好多新建的项目版本的默认支持的版本都是当前Xcode 最高的版本,所以你只需要在项目的project 的地方去修改一下支持的版本就行了
progect - info - iOS Deployment Target
定时器动画刷帧
//创建 刷帧1秒60次
CADisplayLink *link = [CADisplayLink displayLinkWithTarget:self selector:@selector(setNeedsDisplay)];
//启动
[link addToRunLoop:[NSRunLoop mainRunLoop] forMode:NSDefaultRunLoopMode];
//定时器
[NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(setNeedsDisplay) userInfo:nil repeats:YES];
info.plist文件移动到Supporting Filse报错
error:Build input file cannot be found:
设置项目 TARGETS->Build Settings->Packaging->info.plist
路径设置在Supporting Files下
键盘弹出/键盘输入/中文输入法
打开关闭模拟器键盘
command + k
mac键盘能否输入
Hardware-Keyboard-Connect Hardware Keyboard 快捷键: command + shift + k
切换中文输入法
Settings-->General-->Language & Region-->iPhone Language -->简体中文; Region -->中国
mac锁屏恢复后wifi一直转圈
airportd占用cpu过高,sudo killall airportd
网友评论