自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

hqqsk8的专栏

I'm a Desigrammer.

  • 博客(31)
  • 收藏
  • 关注

转载 升级Cocoapods出现错误

Installing CocoaPods on OS X 10.11 and macOS 10.12$ mkdir -p $HOME/Software/ruby $ export GEM_HOME=$HOME/Software/ruby $ gem install cocoapods [...] 1 gem installed $ export PATH=$PATH:$HOME/Software/r

2017-03-14 14:55:02 261

原创 Cocoapods搭建私有库

近段时间再给公司APP做重构,重构后的每个模块都是以pod导入的,所以牵扯到cocoapod私有库的搭建问题。想要创建自己的私有库,还需要创建另外一个git仓库去维护里面所有的其他私有库的版本,比如这个仓库取名为specs.git。这个specs.git维护的是你所有的其他私有库的版本号对应的podspec文件。目录如下所示 下面注意yourRepoName和yourPodName是两个不同的仓库,

2017-03-09 09:50:28 350

原创 安装Windows10步骤

1. 制作U盘为引导盘使用工具Rufus 下载链接:https://rufus.akeo.ie/?locale=zh_CN 下载后打开应用,设置选项如下 分区方案和目标系统类型选择:用于UEFI计算机的GPT分区方案 设备中选择要作为引导盘的U盘(会格式化U盘) 文件系统选择NTFS 载入ISO镜像,提前下载好 下载地址:http://msdn.itellyou.cn/ 点击开始 2. 重启电脑进

2016-09-09 23:05:53 380

翻译 iOS通讯模式(KVO、Notification、Delegate、Block、Target-Action的区别)

文章翻译自https://www.objc.io/issues/7-foundation/communication-patterns/每个Application或多或少都有一些松耦合的对象(模块)组成,他们必须彼此通讯来完成工作。这篇文章将会通过可用的通讯机制,并以Apple的Framework来举例,并给出最佳的实践建议关于使用哪种通讯机制。虽然这个问题是关于Foundation框架的,但是我们

2016-07-14 18:09:18 4206 1

原创 Runloop的使用

今天抽空复习了会Runloop,以前虽然特意的学过,但是工作中确比较少用到,所以利用今天这个机会把他记录下来。Runloop意思就是运行循环,只有有了它,APP才能一直保持运行状态。 Runloop内部就是一个死循环。但是他和一般的while(1);这种死循环还是有差别的。这就要讲到Runloop的几种模式。 1.

2016-05-03 23:28:37 430

原创 2015年总结

hi,我是黄强强,现居杭州,就职于认仕医生担任iOS开发者,前段时间一直忙于认仕医生APP的开发,目前已经提交Appstore审核了,抽个空写一下我对2015年的感悟。 在我进入公司后,感受到的作为一个程序员,最重要的是解决问题的能力。还好我之前对iOS的基础掌握的不错,面对项目中的大大小小的问题,基本上baidu加google都被我解决了。我也见过那些呆了一天,一个功能或者bug都解决不了的程序员

2016-05-03 10:13:50 238

转载 远程服务器 常用命令

登录远程服务器$ ssh root@192.168.1.100拷贝文件到远程服务器$ scp -r /home/administrator/test/ root@192.168.1.100:/root/让程序在后台运行(自动输出到当前目录下的 nohup.out 文件中)$ nohup python spider.py &以用户为主的格式来显示所有在跑的程序$ ps aux杀掉一个进程$ kill

2016-02-24 14:37:20 4191

转载 mac下完整删除mysql

sudo rm /usr/local/mysql sudo rm -rf /usr/local/mysql* sudo rm -rf /Library/StartupItems/MySQLCOM sudo rm -rf /Library/PreferencePanes/My* vim /etc/hostconfig (and removed the line MYSQLCOM=-YES-) rm

2016-02-16 18:38:15 324

原创 关于C语言指针的理解

// 三者的区别 char *s = "hello world!"; char str[] = "hello world!"; char str2[5]; char *s = “hello world!”; 这个相当于创建了一个指针变量s,指针变量s指向常量“helloworld”。 相当于const char *s = “hello world!”; 所以不能通过s来改变字符

2015-12-25 13:07:02 286

翻译 iOS 如何跳到设置app

// 关于本机 About — prefs:root=General&path=About// 辅助功能 Accessibility — prefs:root=General&path=ACCESSIBILITY// 设置主界面 Airplane Mode On — prefs:root=AIRPLANE_MODE// 设置自动锁定时间 Auto-Lock — prefs:root=General

2015-12-11 17:37:50 291

原创 友盟分享集成

最近需要做分享功能,说一下我遇到的坑:新浪微博SSO分享设置:有两组接口可以调用// 非原生SSO新浪微博分享(友盟) [UMSocialSinaHandler openSSOWithRedirectURL:@"http://sns.whalecloud.com/sina2/callback"]; // 原生新浪微博SSO分享(二者选一个) [UMSocialSinaSSOHandler openN

2015-12-09 14:58:53 324

原创 使用static、 const替代宏

宏#define str @"hqq"只是在预处理器里进行文本替换,没有类型,不做任何类型检查,编译器可以对相同的字符串进行优化。只保存一份到 .rodata 段。甚至有相同后缀的字符串也可以优化,你可以用GCC 编译测试,”Hello world” 与 “world” 两个字符串,只存储前面一个。取的时候只需要给前面和中间的地址,如果是整形、浮点型会有多份拷贝,但这些数写在指令中。占的只是代码段而

2015-11-26 15:08:40 1315

原创 SVN使用小结

# 返回到上一个版本 $ svn revert

2015-10-28 12:54:12 269

原创 AFNetwork 2.0

2.0版本的AFNetwork 找到AFURLResponseSerialization.m 这个文件 在self.acceptableContentTypes = [NSSet setWithObjects:@”application/json”, @”text/json”, @”text/javascript”, nil]; 这句里面加上类型text/html,然后就可以了。

2015-09-26 15:57:59 248

原创 升级Xcode7 项目报错汇总

运行报错***was compiled with optimization - stepping may behave oddly; variables may not be available.升级了xcode7进行真机调试报错,模拟器正常。 原因:使用了微博分享,使用最新的微博分享就行了,下载地址:https://github.com/sinaweibosdk/weibo_ios_sdk编译报

2015-09-24 14:51:08 2603

原创 Linux 命令初探

Linux下的常用命令# 查看内核版本 $ uname -a# 查看系统的发行版本 $ lsb_release -a# 查看某个软件是否已经安装 $ rpm -q [软件名]# 创建文件夹 $ mkdir name# 递归创建(创建多级目录) $ mkdir -p name# 删除目录 $ rmdir name# 删除文件或目录(-r删除目录 -f强制删除) $ rm -rf name# 进入当前的

2015-09-01 23:36:16 427

原创 nodejs初步了解

最近感觉项目的js和css越做越大了,想拆分js和css,就拿了IntelliJ自己研究了一下。IntelliJ需要nodejs,下面讲一下nodejs的初步使用# 初始化 $ npm init# 安装插件 $ npm install# 卸载插件 $ npm uninstall gulp-coffee --save-dev

2015-08-28 19:01:16 265

原创 cocoapods

cocoapods使用的细节1.项目在集成cocoapods的时候,终端里执行pod install可能会一直卡在Updating local specs repositories这句。 这是因为当执行以上命令的时候会升级本地的第三方框架,加一个参数可以省略这一步,然后速度就会提升不少。pod install --verbose --no-repo-update pod update --verb

2015-08-09 16:28:20 316

原创 Github 添加 SSH

步骤 1. 生成公钥私钥 2. 为github添加公钥 打开终端,输入~/.ssh进入到.ssh隐藏文件夹,再输入ssh-keygen -t rsa -C “github账号的邮箱地址”连续敲几个回车,.ssh文件夹下就会生成两个文件 id_rsa是私钥,.pub是公钥 终端里用cat id_rsa.pub打开查看序列号,并把序列号复制到github里。首先打开github -> s

2015-04-29 17:04:51 320

原创 打包成ipa做测试

测试人员可通过itunes安装,前提是测试人员的手机要添加到devices里 创建一个Ad Hoc证书,4步操作都要做,最后一步provisioning profiles要选择Ad Hoc,最后拿到一个mobileprovision文件 安装mobileprovision文件到Xcode,选择buildSettings下的code signing选项为刚才的证书 点product-》archive-

2015-04-24 17:20:28 306

翻译 git使用小结

git常用终端操作# 查看所有配置项 $ git config -l# 查看当前代码库状态 $ git status# 将文件添加到代码库,添加单个文件 $ git add main.c# 将文件添加到代码库,添加所有文件 $ git add .# 将修改提交到代码库(在此一定要使用 -m 参数指定修改的备注信息,否则会进入 vim 编辑器,如果对vim不熟悉,会是很糟糕的事情) $ git com

2015-04-23 00:52:08 347

转载 关于UIView的autoresizingMask属性的研究

在 UIView 中有一个autoresizingMask的属性,它对应的是一个枚举的值(如下),属性的意思就是自动调整子控件与父控件中间的位置,宽高。 enum { UIViewAutoresizingNone = 0, UIViewAutoresizingFlexibleLeftMargin = 1 << 0,

2015-04-18 16:44:17 228

原创 文字属性名参考

文字属性名参考 UITextAttributeFont; UITextAttributeTextColor; UITextAttributeTextShadowColor; UITextAttributeTextShadowOffset; NSFontAttributeName; NSForegroundColorAttributeNam

2015-04-11 14:35:06 292

原创 远程通知

远程通知普通的服务器没办法办到主动发东西给其他人的,除非客户端和服务器建立一个长链接。(一直和服务器保持连接状态)HTTP协议:响应式。只有先发信息给服务’,才能得到信息。TCP/IP协议:apple:所有的苹果设备,在联网状态下,都会与apple APNS服务器建立长连接。与apple保持长连接的作用 时间校准 系统升级 查找我的iPhone好处 数据传输速度快 数据保持最新状态devi

2015-04-09 10:11:18 357

原创 一些iOS开发中的零碎知识

– (id)init 内部回调 - (id)initWithFrame:(CGRect)frame 方法。 KVC内部工作原理是找下划线成员变量去替换。 系统自带的tabbar是readonly属性,不好改,用KVC找下划线成员变量去替换,完美解决

2015-04-06 21:46:34 307

原创 UINavigationController和UITabbarController内部结构解析

UINavigationController和UITabbarController内部结构解析1. UINavigationBar 和 UINavigationItem UINavigationBar是整个导航栏,是View UINavigationItem是导航栏的数据,是Model UIBarButtonItem是导航栏左右单个按钮的model 2. UITabBar

2015-04-06 21:33:26 288

原创 iPhone6/6 Plus适配

iOS 6之前,屏幕适配主要用autosize,设置视图与父视图之间的尺寸关系。 iOS 6之后,主要使用自动布局,AutoLayout iOS 8 ,size classes(更加抽象,正方形) iPhone各型号配置图 也就是说. 现在如果要适配iPhone6 Plus。 那么你需要另外提供一套@3x的图片. (之前只有一套常规, 一套@2x) 可以看Scale里的值。 简

2015-04-02 10:35:10 434

转载 NSSet类型简介

NSSet和NSArray相似,用于存储对象,属于集合。不同点 NSArray内部存储的对象是有序的,NSSet是无序的。 NSArray,NSDictionary在内存中存储对象的地址是连续的,NSSet是不连续的。 搜索一个个元素时NSSet比NSArray效率高,主要是它用到了一个算法hash(散列,也可直译为哈希);(比如你要存储元素A,一个hash算法直接

2015-03-30 09:17:23 319

原创 iOS支付宝集成

iOS支付宝集成 1. 申请支付宝签约 2. 获得商户ID(partner)和账号ID(seller) 3. 下载公钥私钥文件(加密签名用) 4. 下载支付宝SDK 5. 集成代码 1> 把SDK中的alipay文件夹托人项目 2> 生成订单信息 3> 生成加密签名 4> 把订单信息,加密签名和加密类型合并,生成一个订单字符串 5> 打开支付宝 6.SDK常见的集成错误 1. 申请签约 签约需

2015-03-26 17:29:46 565

原创 运行时机制(runtime)

什么是runtime? runtime是一套底层的C语言API(包含很多强大实用的C语言数据类型和函数) 实际上,我们平时编写的OC代码,底层都是基于runtime实现的,也就是说,最后都要转换成底层的runtime代码(C,C++语言代码) 运行时机制两个常用的文件 #import <objc/runtime.h> // #import <objc/message.h>runtime有什么用 r

2015-03-10 11:44:35 433

原创 KVO的实现原理

KVO的实现原理kvo的使用// 头文件 #import "HMPerson.h"- (void)viewDidLoad { [super viewDidLoad]; // 运行时机制:runtime HMPerson *p = [[HMPerson alloc] init]; p.age = 20; // 用KVO监听p对象age属性的改变 [p addO

2015-03-10 10:21:31 395

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除