iOS开发经典问题记录

持续更新…

Copy/assign/weak/stong/retain使用总结

什么情况用什么类型?

  • @property (nonatmic, copy/assing/weak/strong)

  • Copy- string/NSMutableString/block

  • Assign-基本数据类型

  • Weak-ui控件 代理 id 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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值