Object_c
文章平均质量分 73
iOS_developer_zhong
iOS开发工程师
展开
-
iOS开发底层之NSObject-alloc源码分析-02
iOS开发底层之NSObject源码分析探索 Alloc 到底是走的那个源码?通过汇编代码,来查找新建Nsobject的时候到底走那部分源码?打开汇编的方式,见上篇文章 开发底层之alloc原理初探.上截图,展示NSobject, alloc后到底走那个那个源码?汇编展示: 可以很清晰的看到alloc后,下一步走的就是 objc_alloc 方法。探索为什么alloc会走objc_alloc源码呢?首先分析NSObject 与自定义NSObject的区别。NSObject是所有iO原创 2021-06-21 18:10:09 · 168 阅读 · 0 评论 -
iOS开发之第三方分享微博分享、微博分享失败原因总结,史上最新最全第三方分享微博方式实现。 微博分享各种坑总结
本篇文章项目demo:点击打开链接https://github.com/zhonggaorong/weiboSDKDemo微博环境的相关搭建,请参照我的这篇博客 : http://blog.csdn.net/zhonggaorong/article/details/517248101. 分享的前提也是您是微博的开发者了,有了对应的appid app,还有回调地址。原创 2016-06-23 17:11:39 · 14573 阅读 · 0 评论 -
iOS开发之第三方分享微信分享、朋友圈分享,史上最新最全第三方分享微信方式实现、朋友圈方式实现
本文章项目demo地址:微信分享环境搭建参考(包含登录的源码):http://blog.csdn.net/zhonggaorong/article/details/51719050微信分享前提: 1.需要成功在微信开发者平台注册了账号, 并取的对应的 appkey appSecret。 2. 针对iOS9 添加了微信的白名单,以及设置了 scheme url原创 2016-06-23 11:46:51 · 18259 阅读 · 1 评论 -
shell 脚本学习之 在mac下怎么执行shell脚本
mac终端下运行shell脚本 1、写好自己的 脚本,比如aa.sh 2、打开终端 执行,方法一: 输入命令 ./aa.sh , 方法二:直接把 aa.sh 拖入到终端里面。 注意事项: 如果 没有成功报出问题:: Permission denied。就是没有权限。 解决办法: 修改该文件aa.sh 的权限 :使用命转载 2016-07-19 10:37:13 · 14412 阅读 · 0 评论 -
iOS开发 根据URL获取图片的尺寸
亲测可用,大家可以用个分类来放在工程中,相当方便// 根据图片url获取图片尺寸+(CGSize)getImageSizeWithURL:(id)imageURL{ NSURL* URL = nil; if([imageURL isKindOfClass:[NSURLclass]]){ URL = i转载 2016-01-22 17:18:12 · 7603 阅读 · 2 评论 -
iOS开发之第三方分享QQ分享,史上最新最全第三方分享QQ方式实现
本文章源码地址: https://github.com/zhonggaorong/QQLoginDemo项目搭建参考: (包含QQ登录源码下载 、 QQ sdk集成)http://blog.csdn.net/zhonggaorong/article/details/51699623分享第三方分享之QQ分享各种坑的总结:1. 分享老是提示未注册QQ,解决办法就是原创 2016-06-22 17:29:20 · 16957 阅读 · 0 评论 -
iOS开发之第三方登录微博-- 史上最全最新第三方登录微博方式实现
相关资源地址:本项目demo地址 : https://github.com/zhonggaorong/weiboSDKDemo最新SDK下载: 最新微博SDK官网注册地址:点击打开链接最新版本的微博登录实现步骤实现:1. 使用此SDK需满足以下条件: 在新浪微博开放平台注册并创建应用 已定义本应用的授权回调页原创 2016-06-21 15:39:37 · 16731 阅读 · 1 评论 -
iOS开发之第三方登录微信-- 史上最全最新第三方登录微信方式实现
项目地址 : https://github.com/zhonggaorong/weixinLoginDemo最新版本的微信登录实现步骤实现:1.在进行微信OAuth2.0授权登录接入之前,在微信开放平台注册开发者帐号,并拥有一个已审核通过的移动应用,并获得相应的AppID和AppSecret,申请微信登录且通过审核后,可开始接入流程。 地址: 点击打开链接2. 下原创 2016-06-20 14:52:45 · 45711 阅读 · 37 评论 -
iOS开发之第三方登录QQ -- 史上最全最新第三方登录QQ方式实现
项目地址 : https://github.com/zhonggaorong/QQLoginDemo/tree/master最新版本的qq登录实现步骤实现:1. 首先,你需要去向腾讯申请账号。 地址:点击打开链接2. 下载最新的SDK 地址: SDK下载SDK内容如下:1. doc: 为说明文档, 方法参数说明。2.sample 这个是简单的demo原创 2016-06-17 18:06:01 · 28617 阅读 · 4 评论 -
iOS开发之把数组中的元素进行随机排序、随机数产生的几种方法
一、先讲下ios三种取随机数的方法:1. srand((unsigned)time(0)); //不加这句每次产生的随机数不变 int i = rand() % 5; 2. srandom(time(0)); int i = random() % 5;3. int i = arc4random() % 5 ;转载 2016-07-15 09:55:42 · 4891 阅读 · 0 评论 -
iOS开发之CFMutableDictionaryRef 转 NSDictionary (__bridge NSDictionary *)
CFMutableDictionaryRef dic = CFDictionaryCreateMutable(CFAllocatorGetDefault(), 0, &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks); NSDictionary *dictionary = (__bridge NSDictio原创 2016-06-15 11:55:07 · 3464 阅读 · 0 评论 -
iOS开发之WWDC2016开发者需要知道的那些事儿
1. iOS 10 而不是 iOS X2. iOS10 锁屏 调整 iOS10的UI设计总体上并没有特别明显的变化,但还是重新设计了锁屏界面,锁屏界面下可以显示更丰富的通知内容,锁屏向右滑动可直接进入拍照界面,左滑则有丰富的插件集成。在锁屏界面上使用3D Touch,可以直接管理通知和各项操作,无需解锁进入系统。3. iOS10 控制中心调整 iOS10对控制原创 2016-06-14 10:00:49 · 1024 阅读 · 0 评论 -
iOS开发学习之NSTimer失效、NSTimer与runloop之间的关系、解密NSTimer
1. 今天在开发的时候,遇到NSTimer无效、所以也到网上找了一些资料,看看究竟怎么回事儿、 再次也做一次分享、方便有需要的朋友。 1. NSTimer是做什么的?1.简单的理解就是一个定时器,在开发过程中,特定时间或者周期性去执行一个任务。 一次性 [NSTimer scheduledTimerWithTimeInterval:5 target:self原创 2016-06-07 11:10:32 · 3238 阅读 · 0 评论 -
iOS开发之安装Homebrew-OS X 不可或缺的套件管理器
1. 安装方法: 1.1 打开终端 1.2 输入: 粘贴以下脚本 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"2. HomeBrew更多知识了解 工作方式和macport类似,也是下载sou原创 2016-08-04 13:30:21 · 849 阅读 · 0 评论 -
iOS开发之iOS9、iOS8隐藏app状态栏、 显示app状态栏 、 自由切换app状态栏的状态
显示app状态栏[[UIApplication sharedApplication]setStatusBarHidden:NO withAnimation:UIStatusBarAnimationFade];隐藏app状态栏[[UIApplication sharedApplication]setStatusBarHidden:YES withAnimation:UISta原创 2016-08-10 10:35:18 · 1338 阅读 · 0 评论 -
iOS - 公司开发优秀工具推荐
1. 需求文档 - 石墨文档2. 缺陷修复 - 任务分配与追踪 worktile3. API文档管理 -YAPI http://yapi.demo.qunar.com/4. UI 设计与图片下载管理- 蓝湖https://lanhuapp.com/...原创 2019-07-27 14:20:40 · 220 阅读 · 0 评论 -
iOS开发之第三方支付支付宝支付教程,史上最新最全第三方支付宝支付方式实现、支付宝集成教程,支付宝实现流程
支付宝支付大致流程为 :1. 公司与支付宝进行签约 , 获得商户ID(partner)和账号ID(seller)和私钥(privateKey),开发中用到的,很重要。请商户在b.alipay.com里进行产品签约;审核:商户登录qy.alipay.com,可在“签约订单”中查看审核进度。2. 下载支付宝SDK 网址:https://doc.open.alip原创 2016-06-24 14:48:57 · 8632 阅读 · 2 评论 -
iOS开发之UITableView , UICollectionView, UIScrollview,根据代理判断页面滚动方向。
-(void)scrollViewDidScroll:(UIScrollView *)scrollView{ CGPoint point = [scrollView.panGestureRecognizer translationInView:self.view]; if (point.y > 0 ) { NSLog(@"------往上滚动"); }els原创 2016-11-25 13:40:16 · 4218 阅读 · 0 评论 -
iOS开发之解决APP界面卡死Bug,一级页面进行系统右滑返回,导致整个app卡死
问题 : 最近在在app一级页面进行系统左侧右滑返回的时候,经常出现界面卡死,只能回到手机首页,再进入app才能继续操作app。解决方法: app一级页面,大家都知道再返回是没有任何相关的页面,由于这个原因造成页面卡死,所以现在在一级页面分别添加禁用和开启右滑返回手势。下面是具体代码:@property (nonatomic, assign)BOOL isCanUseS原创 2016-11-30 15:49:27 · 14131 阅读 · 0 评论 -
iOS开发之图形渲染分析、离屏渲染、当前屏幕渲染、On-Screen Rendering、Off-Screen Rendering
这次主要要讲一些关于绘图方面的东西,涉及的方面可能会比较多一点,也是前段时间项目中有不少这方面的知识所以花了点时间研究了一下。文章的内容主要分为两部分,第一部分是关于iOS上一个Chart的第三方库的一些进阶使用;第二部分是在第一部分上研究的iOS上的绘图原理以及性能方面的探索。这篇文章的目的主要是为以后讲关于绘图方面的知识抛砖引玉吧,因为后面的时间会讲一些关于性能监测以及性能优化方面的内容,绘图转载 2016-10-08 16:31:31 · 7549 阅读 · 0 评论 -
iOS开发之深入了解Objective-C Runtime、Method Swizzling、Method Swizzling 和 AOP 实践
玉令天下博客的Objective-C Runtime顾鹏博客的Objective-C RuntimeAssociated ObjectsMethod SwizzlingMethod Swizzling和AOP实践Objective-C Runtime Reference What are the Dangers of Method Swizzling in Obje原创 2016-10-18 14:17:39 · 464 阅读 · 0 评论 -
Xcode8 注释快捷键失效的解决办法
这个是因为苹果解决xCode ghost。把插件屏蔽了。解决方法命令运行: sudo /usr/libexec/xpccachectl 然后必须重启电脑后生效原文地址:点击打开链接转载 2016-11-07 10:00:12 · 2752 阅读 · 0 评论 -
iOS开发之Xcode8模拟器警告与iOS10真机调试NSLog无效
先解决模拟器的问题Xcode8用模拟器运行项目,会打出一堆日志,例如:subsystem: com.apple.UIKit, category: HIDEventFiltered, enable_level: 0, persist_level: 0, default_ttl: 0, info_ttl: 0, debug_ttl: 0, generate_symptoms: 0, ena转载 2016-10-12 17:15:28 · 1994 阅读 · 0 评论 -
iOS开发之上传应用至APP store - 加急审核, 本人亲测苹果加速审核一年不止两次,只要理由充分,是可以多次的 。不过尽量避免
提交审核后进去下面链接申请加急审核链接:https://developer.apple.com/appstore/contact/appreviewteam/index.html在I would like to选择加急审核(默认选项)填写相关信息 最后一项可以不填Contact Information填写App的相关信息Apple ID of A转载 2016-10-12 11:33:59 · 5051 阅读 · 0 评论 -
iOS开发之检查身份证是否合法,不区分大小写x
+ (BOOL)validateIDCardNumber:(NSString *)value { value = [value stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]; NSInteger length =0; if (!value) {原创 2016-08-26 17:57:30 · 1136 阅读 · 0 评论 -
iOS开发之千呼万唤始出来iOS10更新内容以及iOS 10的闪退问题解决
iOS 更新内容详解1 . 界面方面的修改(更加像安卓)苹果为iOS 10带来了全新的通知查看功能,当我们拿起手机的时候,手机会自动亮屏并且在锁屏界面上显示推送的消息,不用按电源或者Home键就能点亮,十分方便。2 . 锁屏界面上面的消息功能也更加强大了,可以不解锁的情况下直接通过3D Touch进行操作,包括删除、回复短信等等。iOS 10在UI设计上的改动并不多,基本原创 2016-09-14 18:32:58 · 7259 阅读 · 0 评论 -
iOS开发之SQLite安全问题解析之SQLite的锁机制和WAL技术
锁机制SQLite基于锁来实现并发控制。SQLite的锁是粗粒度的,并不拥有PostgreSQL那样细粒度的行锁,这也使得SQLite较为轻量级。当一个连接要写数据库时,所有其它的连接都被锁住,直到写连接结束它的事务。SQLite的数据库连接有5种状态:状态对应的锁未加锁—共享(shared)共享锁转载 2016-08-11 09:41:55 · 2642 阅读 · 0 评论 -
iOS 获取当前正在显示的ViewController或者当前的PresentedViewController
1.我们在非视图类中想要随时展示一个view时,需要将被展示的view加到当前view的子视图,或用当前view presentViewController,或pushViewContrller,这些操作都需要获取当前正在显示的ViewController。[objc] view plain copy//获取当前屏幕显示的viewcont转载 2016-06-06 17:46:49 · 6861 阅读 · 0 评论 -
59条搞笑但却真实无比的编程语录
2016-06-08 10:30 编辑: cocopeng 分类:程序人生 来源:野狗 公众号我收集了很多编程语录,这些语录涉及软件开发,代码维护,调试纠错,软件bug,系统设计、文档,代码质量,测试和软件开发团队管理等方面。下面的这59条语录虽然很搞笑,但却真实无比。只有牛逼的程序员才能理解这些编程语句里的真正内涵。程序员编程语录1. 一个好的程序员是那种过单行线转载 2016-06-12 11:47:20 · 758 阅读 · 0 评论 -
iOS开发之苹果应用6.1日起需兼容IPv6,那么作为开发者我们需要做些什么呢?【科普IPV6】
我相信现在很多的iOS开发者都知道苹果要求我们提交到App Store的应用必须支持IPv6。 1.提到IPV6相关。 那这个直接就联想到就是关于我们App中网络部的一些内容,是否要进行相应的改变。 首先,解释下什么是ipv6? IPv6是下一代互联网的协议,它的提出最初是因为随着互联网的迅速发展,IPv4定义的有限地址空原创 2016-05-10 17:03:25 · 7161 阅读 · 3 评论 -
WKWebView新特性
在WWDC2014中,苹果推出了最新的iOS8系统,其中也伴随着很多控件的更新与升级。其中全新的WebKit库让人很是兴奋。本文也将讲解到WebKit中更新的WKWebView控件的新特性与使用方法,它很好的解决了UIWebView存在的内存、加载速度等诸多问题。环境信息:Mac OS X 10.10.1Xcode 6.1.1iOS 8.1正文:转载 2016-03-14 16:37:42 · 1351 阅读 · 0 评论 -
iOS原生App与H5页面交互笔记
最近在做一个项目用到了原生App与H5交互,之前有做过简单的H5页面直接调用原生方法的例子,就是利用UIWebView中的代理方法//webview每次加载之前都会调用这个方法,利用该代理方法截取JS的href来调用原生的方法- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*转载 2016-02-25 10:30:42 · 7377 阅读 · 0 评论 -
iOS NSUserDefaults setObject forKey,本地化存储,删除字典中的null,空值,本地化的时候,如果value为空值所引起的崩溃
删除字典中的null我们在处理服务器传过来的数据过程中,如果数据中出现null,我们是没法进行本地持久化处理的。在使用NSUserDaults保存本地时,如果其中一个字段的value为NULL值,就会出现崩溃。null产生原因null是后台在处理数据的时候,如果没有设置默认的value值,数据库默认填充的值,就为null值,从服务器传过来,我们json or xml解析原创 2016-02-24 15:23:29 · 4790 阅读 · 0 评论 -
iOS 截屏代码的实现
iOS开发中难免会有PM说要再项目中,实现截屏,还分享出去,这里就把截屏的代码贴出来。分享的话,就相当于只是把这种截屏的图片保存起来,到时候,分享的时候,把图片传过去 #import 添加QuartzCore.framework库-(void) screenShotAction{ UIGraphicsBeginImageContext(self.b原创 2016-01-14 11:06:50 · 9124 阅读 · 2 评论 -
iOS Block的基本语法与使用
iOS中block比较常用,但是又和OC的语法显得有点格格不入,难于理解。以下是我个人初步的理解,供查阅。1.block的声明 //声明一个blocktypedef NSString *(^WXYTestBlock)(NSString *name, int age);以上声明了一个名字叫做WXYTestBlock的block,参数为一个字符串类型的name和一个in转载 2016-01-13 13:06:23 · 460 阅读 · 0 评论 -
UITableView的Separator 绘制问题
如何让系统UItableview的分割线从最左边开始绘制。 在tableview的代理方法 willDisplay: 方法中写下如下代码:- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)index原创 2015-12-25 17:32:19 · 433 阅读 · 0 评论 -
iOS开发初学者需要经常去的论坛或网站
iOS开发初学者需要经常去的论坛或网站 Apple Developer:网址:https://devforums.apple.com/[美国 Apple公司]上有很多文档,对英语的要求也稍高,适合敲完上面两个网站的入门教程后,做参考和提升使用。 objc中国:推荐一个特别棒的项目:objc.io 原版地址:http://www.objc.io/ 中转载 2016-01-10 10:11:17 · 6762 阅读 · 1 评论 -
iOS设置UIImage的渲染模式:UIImage.renderingMode
着色(Tint Color)是iOS7界面中的一个.设置UIImage的渲染模式:UIImage.renderingMode重大改变,你可以设置一个UIImage在渲染时是否使用当前视图的Tint Color。UIImage新增了一个只读属性:renderingMode,对应的还有一个新增方法:imageWithRenderingMode:,它使用UIImageRenderingMode枚举值来设转载 2015-12-07 09:36:07 · 489 阅读 · 0 评论 -
Xcode7中安装及使用Alcatraz来管理Xcode插件
简介Alcatraz 是一个帮你管理 Xcode 插件、模版以及颜色配置的工具。它可以直接集成到 Xcode 的图形界面中,让你感觉就像在使用 Xcode 自带的功能一样。安装和删除使用如下的命令行来安装 Alcatraz:12mkdir -p ~/Library/Application\ Support/Developer/Sh转载 2015-12-01 10:45:57 · 521 阅读 · 0 评论 -
iOS 安装Cocoapods 完整教程
首先,安装Cocoapods之前需要安装许多东西,具体流程是这样, Xcode — Homebrew — RVM — Rudy — Cocoapods。 一、xcode我就不说了,ios程序员吃饭的家伙,之所以需要安装这个可能是Xcode帮助mac安装好了Unix环境的一些安装包。 二、Homebrew。 这是我在网上找了教程:http:/转载 2015-12-01 09:48:18 · 362 阅读 · 0 评论