- 博客(46)
- 收藏
- 关注
原创 iOS锁屏踩坑记
最近公司有个项目需要对锁屏进行监控以便进行一些操作,然后在更新新版本的时候,审核竟然被拒绝了。原因竟然是调用了 Apple 不允许使用的 锁屏API ,如下方法一;后来改成方法二,终于审核通过了。
2017-08-13 23:39:52 4506 2
原创 C 语言之 const、static小结
我们都知道有 const 修饰时,就意味着是只读不可修改的。那么如下的一些声明又是表达什么意思呢?const int a;int const a;const int *a;int * const a;int const * a const;
2016-04-14 21:02:51 1129
原创 C 语言结构体之点运算符( . )和箭头运算符( -> )的区别
很多时候,在对结构体进行相应的编码时,时而发现是用点运算符( . ),时而是用箭头运算符( -> );那么这两者之间的使用有什么区别么?相同点:两者都是二元操作符,而且右边的操作符都是成员的名称。不同点:点运算符( . )的左边操作数是一个结果为结构的表达式; 箭头运算符( -> )的左边的操作数是一个指向结构体的指针。例如:typedef str
2016-04-13 20:05:12 52322 12
原创 Objective-C 打印九九乘法表
很多语言面都有这么一道经典的题,就是打印九九乘法表,自然Objectvie-C是少不了了。那么Objective-C怎么实现呢?可是NSLog(),是自动换行的,此时就要结合 NSString 来实现了。具体实现代码如下:- (void)printJiuJiuBiao{ NSString *resultStr = [[NSString alloc] init];;
2016-04-06 22:00:53 1829
原创 iOS 之 [UIScreen mainScreen].scale
@property(nonatomic,readonly) CGFloat scale NS_AVAILABLE_IOS(4_0);[[UIScreen mainScrenn] scale]这句代码的作用是判断屏幕的分辨率的。if (1.0 == [[UIScreen mainScreen] scale]) //代表 320 x 480 的分辨率if (2.0 == [[
2016-02-01 15:40:08 1934
转载 iOS 之 AutoresizesSubviews ——自动尺寸调整行为
此博文转载自:http://blog.csdn.net/eward9888/article/details/8250556很多情况下,当您改变视图的边框矩形时,其内嵌子视图的位置和尺寸往往也需要改变,以适应原始视图的新尺寸。如果视图的 autoresizesSubviews 属性声明被设置为 YES,则其子视图会根据 autoresizingMask 属性的值自动进行尺寸调整。
2015-12-10 11:19:11 1841
原创 Ubuntu 系统引导配置文件
经过之前 grub 引导知道,可以确切地知道内核版本了,就可以写入配置文件进行自动引导,配置文件如下:default 0timeout 1title Ubunturoot (hd0,6)kernel /boot/vmlinuz-3.8.0-29-generic ro root=/dev/sda7initrd /boot/initrd.img-3.8.0-29-genericquie
2015-11-16 23:01:54 900
原创 Ubuntu 之 grub 引导方法
先用 EasyBCD 软件配置 Ubuntu 系统的入口,重新开机启动后,选择了 Ubunu 系统,进入了 grub 界面:1、输入:“root (hd0, ” 按 Tab 键补全,查看 root 所在的分区;2、补全:“root (hd0, n)” 回车n 是 root 所在的分区;3、进入 root 所在的分区之后,输入:“kernel /boot/vm” 按 Tab 键补
2015-11-16 22:33:12 1700
原创 删除NSString的最后一个字符
在开发中,有时对字符串进行处理时,不可避免的会遇到这样一个很常见的需求,处理如下:/* * === FUNCTION ================================================== * Name: removeLastOneChar: * Description: Delete the last character . *
2015-11-12 16:03:35 1420
转载 [ObjectiveC] NSMutableArray 数字排序
此博文转载自:http://aiur3908.blogspot.jp/2014/11/objectivec-nsmutablearray.htmlNSMutableArray裡面如果都存數字,如果需要排序的話,可以使用以下的方法:NSMutableArray *array1; //創建一個NSMutableArray array
2015-11-11 17:56:21 1053
原创 MacVim 在OS X (Yosemite 10.10.5) 编译和安装
其实,Mac 已经默认安装好了 vim ,打开终端,输入“vim”,回车,可以看到如下的界面
2015-11-10 17:01:47 1955
原创 Xcode 常用快捷键
1、command + shift + k :clear 工程2、command + b: build 工程3、command + r : run 工程4、command + . : stop 工程5、command + Alt + up:在 .m 文件和 .h 文件之间切换6、command + 鼠标左键: 查看定义7、command + / :
2015-11-10 10:40:19 558
转载 设置 UISearchBar 输入字体颜色 和 默认字体颜色
此博文转载自 http://blog.csdn.net/jianjianyuer/article/details/8514328UISearchBar *searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 0, 210, 44)];// Get the instance of the UITextField of the
2015-10-16 15:01:20 1031
原创 iOS之设备型号获取
在做 iOS 开发时,不可避免的遇到需要适配各个型号的分辨率问题,此时很有必要准确的获取设备的具体型号以设计对应的显示效果。
2015-10-16 11:57:19 1125
原创 iOS之矩形图片切割成圆形图片
在 iOS 开发中,有些情况往往需要对图片进行切割。比如说音频播放器中的专辑图片,需要显示成圆形转动效果,而图片资源往往都是矩形的,此时就很有必要把矩形图片切割成圆形。/*! @function convertToCircleWithImage:onWidth:onColor @discussion Convert rectangle to circle with
2015-10-14 11:37:52 2482
原创 NSMutableArray 与 NSArray 互转
有些时候,往往需要把 NSMutableArray 转成 NSArray (或 NSArray 转成 NSMutableArray)官方提供了很好的方法为其转换提供了方便。如下:NSArray ——> NSMutableArrayNSMutableArray *testMutableArray = [testArray mutableCopy];NSMutableArray —
2015-10-13 15:25:46 1086
原创 iOS 图片360度循环旋转
在开发时,有时候需要实现图片旋转功能,比如说音频播放器实现专辑图片的转动功能。可以用动画来实现:初始化动画-(void)initAnimationWithImageView:(UIImageView *)imageView onSpeed:(float)speed{ CABasicAnimation* rotationAnimation; rotationAnimatio
2015-10-13 11:46:38 2950
转载 [Linux] 软件源码安装 - Tarball
此博文转载自 http://blog.csdn.net/dbanote/article/details/18551957什么是Tarball所谓的Tarball文件,是指把软件的所有源码以tar打包,再压缩。它通常包含以下文件列表:1)源代码文件2)检测程序文件(configure或config等)3)简易说明和安装说明(INSTALL或README)Tar
2015-09-18 22:51:24 674
原创 property 和 synthesize
在程序开发时,有时候我们需要获取一些属性的值或者对属性赋值,往往需要定义一些属性的 getter 和 setter 方法。在 Objective-C 中,提供了一些机制可以让编译器自动为程序代码生成属性的 getter 和 setter 方法。"property" 关键字,表示对 ’属性‘ 的 getter 和 setter 方法的声明。"synthesize" 关键字,表示对
2015-08-29 10:32:03 465
原创 Objective-C 中一些基本概念
在学习 Objective-C 之前,对一些基本概念做一个了解,会对学习有更好的帮助。类(class) 是一种表示对象类型的结构体。对象(object) 是一种包含值和指向其类的隐藏指针的结构体。实例(instance) 是“对象”的另一种称呼。消息(message) 是对象可以执行的操作,用于去通知对象做什么。方法(method
2015-08-29 10:13:12 488
原创 小谈 NSLog()
在软件开发中,有时往往需要借助控制台打印一些信息,以方便对程序的调试。在 iOS 开发中,提供了 NSLog() 函数,可以往控制台输出信息。此函数类似 C 语言中的 printf() 函数,支持格式输出。使用 NSLog() 可以输出任意 Objective-C 对象,输出对象的值时,都会使用 %@ 格式来表示。而且默认会调用description() 方法;所以可以通过重写 descrip
2015-08-29 09:51:05 615
原创 iOS 开发常见的错误提示信息
在 iOS 开发中,有时是不可避免的发生一些错误,通过对错误信息的解读,往往对我们定位 bug 会有很大的帮助。常见的错误提示信息有:"EXC_BAD_ACCESS" (此错误信息)表示发生了也指针错误。"unrecognized selector send to instance"(此错误信息)表示某个对象调用了不存在的方法(即该方法只进行了声明,却没有实现
2015-08-29 09:32:27 827
原创 Ubuntu 开机无法自启 fcitx
在安装好 搜狗拼音输入法后,发现无论怎么切换输入法,都无法打开。经过查找资料,应该是由于4.2.4新版的Fcitx与系统默认的Locale有点问题。我们把下面这段代码粘贴到主文件夹下的.xprofile中(如果没有这个文件,则新建一个。)export LC_ALL=zh_CN.utf8export XMODIFIERS=@im=fcitxexport QT_IM_MODULE=xi
2015-08-27 23:04:33 6859 1
原创 Mac 常用快捷键
1、打开Finder:command + n 或者 command + shift + c (前提是:当前窗口必须是桌面)2、新建文件夹:command + shift + n 3、返回上级文件夹:command + 上4、打开文件夹:command + 下5、文件重命名:回车6、删除文件(放到废纸篓):command + del (退格键)
2015-08-27 11:18:07 797
原创 Mac 常见扩展名
1、.app——可运行的应用程序(Windows中是.exe)2、.dmg——应用程序安装包(Windows中是exe/msi等)3、.ipa——iOS应用程序安装包(只有越狱的手机才可以安装apple商店之外的.ipa软件)4、.xcodeproj——Xcode的项目文件(双击可以直接打开整个项目,前提是已经装有 Xcode 软件)
2015-08-27 11:13:04 12985 1
原创 Mac系统新建txt文本文件技巧
很多时候,我们需要在 Mac 中创建 txt 文件来记录一些信息,但是打开系统自带的文本编辑默认并不是创建 txt 文本文件。方法一:打开终端,cd 到想要创建 txt 文本文件的目录(如桌面)cd /Users/userName/Desktop使用 vi 创建 txt 文本文件sudo vi fileName.txt保存退出:wq
2015-08-27 10:57:14 29825 1
原创 Mac 常用操作
Finder 显示 / 隐藏 ‘隐藏文件’打开终端,输入如下命令显示 ‘隐藏文件’defaults write com.apple.finder AppleShowAllFiles -boolean true ; killall Finder隐藏 ‘隐藏文件’defaults write com.apple.finder AppleShowAllFiles -boole
2015-08-27 10:47:51 524
原创 在 iOS 中对接收到的网络数据(NSData)进行文件读写
在 c 语言中,文件操作都是由库函数来实现的,主要是分为读和写两种操作:文件指针平常所说的文件不同于其他常见的数据类型,比如一个test.txt文档,它有自己的一些属性,比如文件的当前位置、与该文件对应的内存缓冲区地址、文件操作方式等等。对于这些信息都会专门开辟一定内存空间来存储。而且是保存在一个结构体类型的变量中,比如:struct{ int fd;
2015-08-26 14:59:23 4255
原创 iOS 在线播放进度显示:已经播放的一个颜色,未播放的一个颜色,缓冲的一个颜色
设置代码如下:@property (strong, nonatomic) IBOutlet UISlider *processSlider; //定义一个播放进度条@property (weak, nonatomic) IBOutlet UIProgressView *progressCache; //定义一个下载缓冲指示/
2015-08-25 19:45:53 1812
原创 static 与 extern
下面根据自己对static与extern的理解,说明一下:变量的不同类型,决定了其生命周期及其作用域。extern:extern 可以用来修饰变量,也可以用来修饰函数。1、对于函数来说,既可以是声明一个外部函数,也可以是定义一个函数;有两个源文件man.c和test.c如下:例子1、源文件 test.c// test.c #include void
2015-08-25 19:14:19 688
转载 关于show the Debug navigation不显示CPU Memory等信息
此博文转载自 http://blog.csdn.net/colouful987/article/details/42319937问题描述:调试时show the Debug navigation 即信息导航栏第六个图标内容中,CPU 、Memory都不显示了。如下图:answer:解决方法:首先确保你在xcode环境下,路径Produ
2015-08-24 15:10:38 813
转载 a,b比较和交换问题
此博文转载自 http://blog.csdn.net/ycguhang/article/details/85927811、两个变量a和b,不用“if”、“?:”、“swtich”或其他判断语句,找出两个数中间比较大的。方案1:int max = ((a+b)+abs(a-b))/2方案2:int c = a - b;
2015-08-23 20:49:26 815
转载 哪个效率更高?x=x+1, x+=1, x++
此博文转载自 http://blog.csdn.net/ycguhang/article/details/8592764解析:x=x+1最低,因为它的执行过程如下:(1)读取右x的地址。(2)x+1.(3)读取左x的地址。(4)将右值传给左边的x(编译器并不认为左右x的地址相同)。x+=1其次,其执行过程如下:
2015-08-23 20:44:04 603
转载 C/C++头文件注释
此博文转载自 http://blog.csdn.net/ycguhang/article/details/7173832/********************************************************************************* *Copyright(C),2010-2011,Your Company *FileNam
2015-08-23 20:40:29 1478
原创 删除文件中的^M字符
有时候,我们在 Ubuntu 中打开曾在 Windows 中编辑过的文件时,或者从 Internet 下载的源代码文件,会发现在行尾看到 ^M 字符。虽然,这对代码的编译并不影响什么,但是编辑时看起来总感觉怪怪的。如果想要删除这些 ^M 字符,可以使用 Vim 来轻松搞定它。在 Vim 的命令模式中输入 :%s/^M$//g 后,回车即会自动删除该文件中的所有 ^M 字符。
2015-08-23 16:05:38 2027
原创 Ubuntu 引导文件配置
基于 windows 系统安装 Ubuntu 系统后,关于双系统引导:本人比较喜欢通过 windows 系统 引导 Ubuntu 系统。在 Windows 下安装好 EasyBCD 后,打开进行相关的配置第一步:添加新条目第二步:添加(我的已经添加好了,所以显示“删除”第三步:编辑引导第四步:编辑引导内容第五步:修改引导顺序、引导
2015-08-23 15:58:54 1900
原创 gvim / vim 无法输入中文
在 Ubuntu 下,使用 gvim / vim 时,当安装一些插件,或者修改了一些配置之后,有时候会出现无法输入中文的情况,不管怎么切换输入法,输入的都是英文。遇到这种情况的原因可能是:Ubuntu 系统自带的中文输入法 ibus的缘故所以,其解决办法:只要吧 ibus 修改成不嵌入文本模式即可(即,在输入法的首选项常规设置中,把“在应用程序窗口中启用内嵌编辑模式”前面的
2015-08-23 10:50:32 8590
原创 小谈 Ubuntu 联网
对于 Ubuntu 系统,个人觉得联网最方便的莫过于直接通过无线 Wifi 链接路由器了。但是,有些情况下,我们上网的环境没有路由器,只能通过插网线联网了。此时,掌握 “pppoe” 方式联网是很有必要的了。
2015-08-23 10:13:25 1184
原创 Ubuntu 软件安装方法之——简单介绍
Ubuntu 安装软件方式有多种,其一、直接去 “Ubuntu 软件中心” 搜索安装其二、下载 deb 包进行安装。下面说一下:deb的安装方法:1、直接双击进行安装2、命令行安装:(对于喜欢命令行操作)sudo dpkg -i package.deb关于 dpkg 的详细使用方法,网上有很多,下面简单列了几个:dpkg -i package.deb
2015-08-23 00:03:23 1443
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人