- 博客(41)
- 资源 (7)
- 收藏
- 关注
原创 数组倒序输出
NSMutableArray *array = [NSMutableArray arrayWithObjects:@"1",@"2",@"3",nil];NSArray* reversedArray = [[array reverseObjectEnumerator] allObjects];输出:3.2.1
2017-02-28 17:59:26 2793
转载 iOS移动端架构的那些事
在开始谈app架构之前,曾经我一度认为,一个好的app就是需要有好的架构,如果没有一个我所认为的“好架构”,那么这个app就是很low。直到去年参加北京ArchSummit时,听了无数的公司他们对于产品的架构之后,我陷入沉思,因为我总在自己的认知里选出一个自己认为最好的架构,然后觉得其他架构都是垃圾。静下心来想想,每个产品都有自己不同的定位,如果抛开它们的定位,抛开它们的业务需求去谈如果给
2017-02-28 17:13:33 2080
原创 iOS点击button放大后缩小效果
-(void)buttonClick{ button.transform = CGAffineTransformIdentity; [UIView animateKeyframesWithDuration:0.5 delay:0 options:0 animations: ^{ [UIView addKeyframeWithRelativeStartTime:0 r
2017-02-24 18:38:04 5241
原创 AppStore加急审核流程
一、首先打开这个网址https://developer.apple.com/contact/app-store/?topic=expedite 看到如下截图,这里我们选择request an expedited app review ,申请一个加急审核。二、完善一些数据如Contact Information,App In
2017-02-24 18:29:48 3134
转载 程序员要多跳槽才能涨工资?
都是打工高薪才是王道 fs:这 篇文章的本意,是告诉大家如何识别公司。而不是鼓励大家无脑跳槽。只有当你在一个公司略有所成的时候,你才能有所积累。跳槽更多时候,应该看到上升空间, 机会,而不仅仅是工资。同时,你也应该发粪涂墙。若仅仅靠跳槽来提升自己的薪水,最后走投无路的还是自己。要相信,是金子,总会发光的。btw:看完下面的内容,以及大家的评论后,你就
2017-02-24 18:16:03 11754
原创 iOS打开应用提示未受信任的企业级开发者
安装ipa包时,成功安装好应用之后发现不能打开应用,提示“未受信任的企业级开发者”。出现的问题:解决的方法:
2017-02-24 17:31:28 6191
转载 乔布斯和盖茨的历史性对话(转录)
2007年华尔街日报举办的All Things Digital会议上,乔布斯和盖茨这两位IT殿堂级人物进行了一次历史性的公开对话,转录如下:你们二人分别对于计算机行业有过怎样的贡献?乔布斯:比尔建立了行业中第一家软件公司,而且是间大公司。我想他在业内的所有人还不知道什么是软件公司的时候就建立起了第一家软件企业。比尔完全专注于软件行业。盖茨:首先,我需
2017-02-23 18:33:01 4570
原创 iOS统计数组相同元素的个数
- (void)viewDidLoad { [super viewDidLoad]; //统计数组相同元素的个数 NSMutableDictionary *dic = [[NSMutableDictionary alloc] init]; //需要统计的数组 NSMutableArray *array = [[NSMutableArray
2017-02-23 18:23:52 4969 1
原创 iOS检测设备摄像头、指南针、录音、陀螺仪状态
- (void)viewDidLoad { [super viewDidLoad]; //检查前后摄像头 BOOL cameraAvailable = [UIImagePickerController isCameraDeviceAvailable:UIImagePickerControllerCameraDeviceRear];//前 BOOL fron
2017-02-23 17:00:45 2636
原创 iOS检测耳机插入/拔出
#import - (BOOL)isHeadsetPluggedIn { AVAudioSessionRouteDescription* route = [[AVAudioSession sharedInstance] currentRoute]; for (AVAudioSessionPortDescription* desc in [route output
2017-02-23 16:45:26 2708
原创 iOS生成二维码
// 生成二维码-(void)createQRCode{ CIFilter *filter = [CIFilter filterWithName:@"CIQRCodeGenerator"]; [filter setDefaults]; NSData *data = [@"http://blog.csdn.net/chen_gp_x" dataUsingEncoding:
2017-02-23 16:28:54 2173
转载 iOS开发知识与能力体系 思维导图
越写越多,整理不完,也许思维导图都不是最好的承载工具了,以后再继续补充。分辨率为2042*3917,点击查看大图:
2017-02-23 15:21:20 2827
原创 iOS字符串转数组,数组转字符串
NSString *testString = @"1,2,3,4,5"; NSArray *testArray = [testString componentsSeparatedByString:@","]; NSLog(@"testArray=========%@",testArray); NSString *tempStr = [testArray component
2017-02-22 18:26:54 6023
转载 iOS声明变量在@interface括号中与使用@property的区别
刚开始接触OC再看别人写的代码的时候,常常困惑于人家在声明属性时的写法,总结出来有三中方式,不知道哪一种比较规范化,现在我把三种方式贴出来,然后再一一探讨每个方式声明属性的区别。方式一:直接在@interface中的大括号中声明。@interface MyTest : NSObject{ NSString *mystr;}方式二:在
2017-02-22 13:47:48 2200
转载 应用提交 App Store 上架被拒的原因都有哪些?
以下为详细原因列表以及所占比例: 1、信息提交不全(14%) 2、应用存在漏洞(8%) 3、不遵守《开发者项目授权协议》(6%) 4、用户界面太复杂或不够好(6%) 5、名称、描述、截屏与应用内容或功能不相关(5%) 6、包含错误、欺诈或误导性内容,或者使用与其他应用相似的的名称或图标(5%) 7、iTunes C
2017-02-21 18:09:18 4908
原创 iOS库.a与.framework
一、什么是库?库是共享程序代码的方式,一般分为静态库和动态库。二、静态库与动态库的区别?静态库:链接时完整地拷贝至可执行文件中,被多次使用就有多份冗余拷贝。动态库:链接时不复制,程序运行时由系统动态加载到内存,供程序调用,系统只加载一次,多个程序共用,节省内存。三、iOS里静态库形式?.a和.framework四、iOS里动态库形式?.dylib
2017-02-21 17:50:53 2268
原创 汉字转成拼音
NSString *stringText = @"iOS开发交流群:119783156"; if ([stringText length]) { NSMutableString *mutableStringText = [[NSMutableString alloc] initWithString:stringText]; if (CFStringT
2017-02-20 14:47:15 2285
原创 Label中某几个字符颜色大小不同
UILabel *label=[[UILabel alloc]initWithFrame:CGRectMake(100, 10, 200, 100)]; int i=arc4random()%100; NSString *str1=@"本期参与:"; NSString *str2=[NSString stringWithFormat:@"%d",i]; NSStri
2017-02-20 14:34:46 2381
原创 iOS界面淡进淡出的效果
- (void) showView{ CGContextRef context = UIGraphicsGetCurrentContext(); [UIView beginAnimations:nil context:context]; [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
2017-02-17 18:07:54 3634
转载 iOS进程与线程的区别
A.进程什么是进程进程是指在系统中正在运行的一个应用程序每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内比如同时打开QQ、Xcode,系统就会分别启动2个进程通过“活动监视器”可以查看Mac系统中所开启的进程 B.线程主线程、子线程占用内存分别是1M和512K1.什么是线程1个进程要想执行任务,必须得有线程(每1个进程至少要有1条线程)
2017-02-17 17:46:23 3062
原创 label添加下划线
UILabel *myLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 100)]; myLabel.textAlignment = NSTextAlignmentCenter; myLabel.center = self.view.center; NSMu
2017-02-17 17:06:14 6137
转载 培训机构毕业的程序员被歧视的背后逻辑
现在,像达内、华清远见、国嵌、北大青鸟、传播智客等等IT培训机构很多,为尚未毕业的大学生、毕业了一时找不到工作的大学生、工作后想转行的再就业者提供了一个掌握新技能的机会,通过三个月或半年或更久的培训,你就可以掌握某一种技能,比如Android开发、Java Web开发、iOS开发、嵌入式Linux开发,然后,没然后了吗……Sorry,然后还是有的,只不过,“然后”并不是像培训机构的销售代表
2017-02-17 15:37:58 3215 3
转载 那一年,我们二十七八岁
我今年二十七八岁,每天起床的时间从中午12点变成了早上7点,睡觉的时间从凌晨变成了晚上11点。我今年二十七八岁,工作中开始接触形形色色的人,见到亲戚朋友,他们不再问你考试考了多少分,而是问你工资多少,结婚没有...我今年二十七八岁,聊天的话题从各种网络游戏变成汽车,房子…吃饭的时候,往往讨论的是他准备结婚,她哪年结婚了…我今年二十七八岁,每天不再
2017-02-17 15:32:19 2118
原创 iOS开发编码规范建议
在开发过程中,我们不仅要去看别人的代码,也要让别人看我们的代码。那么,有一个良好的编码习惯将会非常重要。下面将会罗列使用Objective-C来开发iOS的编码建议。【1】任意函数长度不得超过50行。(其实很容易就超过50行,这就要考虑代码抽取了。)【2】任意行代码不能超过80字符。(其实也很容易超过80字符,可以考虑多行显示,比如有多个参数时,可以每个参数放一行。)可
2017-02-17 15:16:02 3078
转载 技术人员如何去面试?
3月-5月的离职跳槽高峰期,不论什么level的程序员们都开始纷纷去考虑勾兑猎头跳槽投递简历应聘面试等等关乎自己工作事业等重大问题的忙碌上面了。本文探讨的主要是如何选择公司、如何面试、如何谈薪水等实际的问题,可能描述会有偏颇,仅供参考。以下内容纯原创,本文主要是分为几大部分,可以挑选你喜欢的内容看,本文仅代表笔者个人观点,不代表所有人想法。一、为什么跳槽和选择公司1.
2017-02-17 13:46:09 2633
转载 程序员每天该做的事
程序员每天该做的事1、总结自己一天任务的完成情况 最好的方式是写工作日志,把自己今天完成了什么事情,遇见了什么问题都记录下来,日后翻看好处多多2、考虑自己明天应该做的主要工作 把明天要做的事情列出来,并按照优先级排列,第二天应该把自己效率最高的时间分配给最重要的工作3、考虑自己一天工作中失误的地方,并想出避免下一次再犯的方法 出错不要紧,最重要的是不要重复犯相同的错误,那是愚
2017-02-17 13:04:02 2633
原创 viewDidLoad, viewWillDisappear, viewWillAppear等区别及各自的加载顺序
viewWillAppear:视图即将可见时调用。默认情况下不执行任何操作viewDidAppear:视图已完全过渡到屏幕上时调用viewWillDisappear:Calledafter the view was dismissed, covered or otherwise hidden. Defaultdoesnothing视图被驳回后调用,覆盖或以其他方式隐藏。默认情况下不执行任何
2017-02-17 12:13:18 2375
转载 iOS用CGContextRef画各种图形(文字、圆、直线、弧线、矩形、扇形、椭圆、三角形、圆角矩形、贝塞尔曲线、图片)
首先了解一下CGContextRef:An opaque type that represents a Quartz 2D drawing environment.Graphics Context是图形上下文,可以将其理解为一块画布,我们可以在上面进行绘画操作,绘制完成后,将画布放到我们的view中显示即可,view看作是一个画框.自己学习时实现的demo,希望对大
2017-02-17 11:56:43 2390
原创 imageNamed和imageWithContentsOfFile的区别
一、imageNamed方法:这种方法会首先在系统缓存中根据指定的名字寻找图片,如果找到了就返回。如果没有在缓存中找到图片,该方法会从指定的文件中加载图片数据,并将其缓存起来,然后再把结果返回,下次再使用该名称图片的时候就省去了从硬盘中加载图片的过程。对于相同名称的图片,系统只会把它Cache到内存一次。另外,在iOS4及以上系统中,如果是PNG格式的图片,使用该方法加载时不用再指定文
2017-02-16 10:27:26 2391
原创 限制UITextField 输入文字的长度
监听textField文本变化的事件1、实现UITextFieldDelegate协议;2、实现textField:shouldChangeCharactersInRange:replacementString:方法;-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRa
2017-02-16 10:09:40 3294
原创 iOS在Xcode中,文件名后小方框中的A(M或C)代表的意思
表示在版本控制中,自上一次提交以来,文件做了修改。一般只有在带有版本控制的项目代码中才会显示,也就是说你的项目使用了SVN、Git等工具后,会在Xcode中识别出来。'A' 新增'D' 删除'M' 修改'R' 替代'C' 冲突'I' 忽略'?' 未受控'!' 丢失,一般是将受控文件直接删除导致
2017-02-15 18:18:06 2411
转载 iOS中nil/Nil/NULL/NSNull的区别
一、NULL1、声明位置stddef.h文件2、定义[objc] view plaincopy#undef NULL #ifdef __cplusplus # if !defined(__MINGW32__) && !defined(_MSC_VER) # define NULL __null
2017-02-15 18:12:37 2398
转载 iOS中KVC与KVO的区别
一、KVC与KVO*“KVC”:key value Coding(键值编码)*目的:间接的修改或获取对象的属性,降低程序(类与类)之间的耦合度.*“KVO”:key value Observer(键值观察),观察者模式.(检测模型变化用的多)*目的:通常用于观察某个对象的某个属性发生变化时,及时做出相应.二、KVC的使用方式KVC被称为iOS开发平台的大招!
2017-02-15 18:00:44 2657
原创 iOS获取控制器里面的控件
for (int i=0; i<3; i++) { UILabel *testLabel = [[UILabel alloc]initWithFrame:CGRectMake(((self.view.frame.size.width - 20)/3 + 10) * i, 100, (self.view.frame.size.width - 20)/3, (self.view.frame.
2017-02-15 14:16:12 2275
转载 NSDictionary,JSON和XML互相转换
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ [self test]; // Override point for customization after application launch. re
2017-02-13 17:02:26 3098
原创 iOS去掉html 的转义符号
NSString *htmlString = @"[{\"age\":18,\"book\":{\"price\":23.2,\"title\":\"booooooook1\"},\"name\":\"samyou\"},{\"age\":22,\"book\":{\"price\":21,\"title\":\"booooooook2\"},\"name\":\"samsam\"}]";
2017-02-13 16:50:14 4725 2
原创 iOS应用跳转到app store
//第一种方法 直接跳转 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"itms-apps://itunes.apple.com/app/id1018221712"]]; //第二中方法 应用内跳转 //1:导入StoreKit.framework,控制器里面添加框架#import //2
2017-02-13 16:10:27 2310
原创 app的运行效果录制下来并保存成gif动画
Licecap for Mac 下载地址一、下载完成后打开软件(如果无法打开,提示警告,请自行百度),界面如下图。整个软件界面为透明层,左下角可以设置图片FPS,右下角又两个按钮,分别为录制按钮和停止按钮。二、鼠标移动至软件边框处可以改变软件界面大小,这个大小就是你将要录制的界面大小三、这里调整到模拟器大小后(让整个模拟器在软件透明框内),点击右下角
2017-02-06 14:21:18 2562
批量改变图片尺寸(像素、比例)MAC
2018-12-07
linux服务器的数据库自动备份脚本
2018-02-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人