
OC 基础数据
文章平均质量分 79
田风有
1.负责公司iphone客户端软件的开发,参与项目需求分析,产品设计。
2.按计划完成产品的代码编写,产品测试,并且保证代码质量。
3.按照开发流程编写相应的模块的设计文档。
4.跟进ios平台终端技术的更新,设计和实现新产品和功能。
5.对ios平台开发技术进行研究。
6.提供产品相关技术支持。
7.代码的编写和维护.
展开
-
iOS的App启动详细过程(底层知识)
1.虚拟内存 & ASLR1.虚拟内存 & ASLR在早期计算机中,这就造成了下面两个问题1.内存不够用2.数据安全问题。原创 2024-08-15 15:32:26 · 1548 阅读 · 0 评论 -
多线程-深入理解GCD
一,Dispath Queue.dispatch_async(queue, ^{ //block});用dispatch_async这样的函数将block追加到Dispatch Queue中。而block内容便是想执行的任务。而Dispatch Queue,指的就是执行处理的等待队列。Dispatch Queue有着先进先出的原则。他会把你先放进去的任务先拿出来执行。Dispatch Queue有两种,分别为Serial Dispatch Queue 和 Concurrent Dispa原创 2021-09-14 21:36:25 · 259 阅读 · 0 评论 -
单例加锁和不加锁的区别
一,单线程模式单例// 单线程单例+(instancetype)sharedLoadData{ static Singleton *singleton; if (!singleton ) { singleton = [[Singleton alloc] init]; } return singleton;}1.单线程单例只有在单个线程使用的情况下使用,在多线程的情况下,会产生线程不安全的情况,严格意义上来说,我们还需要把alloc方法变为私有方法才行,严格的单例是不允原创 2021-09-14 20:16:57 · 2349 阅读 · 0 评论 -
method 详解
定义先来看一下method相关的定义 typedef struct objc_method *Method; struct objc_method { SEL method_name; char *method_types; IMP method_imp; } struct objc_method_list { str原创 2017-07-03 09:56:00 · 1397 阅读 · 0 评论 -
UIPickerView的使用
简介:UIPickerView是一个选择器控件,它比UIDatePicker更加通用,它可以生成单列的选择器,也可生成多列的选择器,而且开发者完全可以自定义选择项的外观,因此用法非常灵活。UIPickerView直接继承了UIView,没有继承UIControl,因此,它不能像UIControl那样绑定事件处理方法,UIPickerView的事件处理由其委托对象完成。使用UIPickerView的原创 2017-08-03 14:27:45 · 697 阅读 · 0 评论 -
iOS开发应用上架必读最新苹果审核规则(史上最全版)
学习交流及技术讨论可新浪微博关注:极客James1. 条款和条件 • 1.1 为App Store开发程序,开发者必须遵守 Program License Agreement (PLA)、人机交互指南(HIG)以及开发者和苹果签订的任何其他协议和合同。以下规则和例证旨在帮助开发者的程序能获得App Store的认可,而不是修改或删除任何其他协议中的条款。2. 功能 • 2.转载 2017-09-13 09:50:00 · 17866 阅读 · 0 评论 -
iOS AppStore 转让APP
转让APP有一个条件,项目上线之后才可以转让一 打开iTunes Connect 登陆from 账户 就是要转出的哪一个账户点击进入要转出的那款APP 我们可以看到 在APP 信息 已经上线的APP是这样子的屏幕快照 2016-02-15 11.18.25.png而提交中的APP是没有这个选项的屏幕快照 2016-02-22 11.08.34.png点击转让屏幕原创 2017-11-09 15:07:44 · 849 阅读 · 0 评论 -
Runtime方法的使用-class类
//// ViewController.m// RunTimeDemo//// Created by 田风有 on 2017/11/29.// Copyright © 2017年 kang. All rights reserved.//#import "ViewController.h"#import "Person.h"#import <objc/runtime.h>#imp...原创 2018-03-14 14:37:21 · 1509 阅读 · 0 评论 -
iOS 静态库制作(Xcode9.0,Framework制作,Bundle制作
基本知识:1. 库类别静态库(.a 和.framework)动态库(.liby和.framework)2.静态库和动态库的区别2.1静态库平时我们用的第三方SDK基本上都是静态库。静态库在项目编译时完整地拷贝至可执行文件中,被多次使用就有多份冗余拷贝。静态库很大的一个优点是减少耦合性,因为静态库中是不可以包含其他静态库的,使用的时候要另外导入它的依赖库,最大限度的保证了每一个静态库都是独立的,不会...原创 2018-06-11 11:38:46 · 1696 阅读 · 0 评论 -
史上最详细的iOS之事件的传递和响应机制-原理篇
前言:按照时间顺序,事件的生命周期是这样的:事件的产生和传递(事件如何从父控件传递到子控件并寻找到最合适的view、寻找最合适的view的底层实现、拦截事件的处理)->找到最合适的view后事件的处理(touches方法的重写,也就是事件的响应)其中重点和难点是:1.如何寻找最合适的view2.寻找最合适的view的底层实现(hitTest:withEv原创 2017-05-16 15:38:03 · 373 阅读 · 0 评论 -
更轻量的 View Controllers
View controllers 通常是 iOS 项目中最大的文件,并且它们包含了许多不必要的代码。所以 View controllers 中的代码几乎总是复用率最低的。我们将会看到给 view controllers 瘦身的技术,让代码变得可以复用,以及把代码移动到更合适的地方。你可以在 Github 上获取关于这个问题的示例项目。把 Data Source 和其他 Prot原创 2017-05-16 15:41:05 · 269 阅读 · 0 评论 -
iOS- 详解文本属性Attributes
1.NSKernAttributeName:@10 调整字句 kerning 字句调整2.NSFontAttributeName :[UIFont systemFontOfSize:_fontSize] 设置字体3.NSForegroundColorAttributeName:[UIColor redColor] 设置文字颜色4.NSParagr原创 2017-05-16 16:30:44 · 364 阅读 · 0 评论 -
CABasicAnimation使用总结
实例化使用方法animationWithKeyPath:对 CABasicAnimation进行实例化,并指定Layer的属性作为关键路径进行注册。//围绕y轴旋转CABasicAnimation*transformAnima = [CABasicAnimationanimationWithKeyPath:@"transform.rotation.y"];设定动画原创 2017-05-16 16:30:15 · 762 阅读 · 0 评论 -
IOS 手势、手势响应器UIGestureRecognizer
手势,手势响应GestureRecognizer关于手势响应IOS中封装了一个类,能响应一般手势UIGestureRecognizer下面说一下这个UIGestureRecognizer 类这个类有几个子类,这几个子类分别表示几种不同的基本手势1、UITapGestureRecognizer //点击手势识别器,可以是点击一次,或多次都能识别2、UIPi原创 2017-05-16 16:29:48 · 546 阅读 · 0 评论 -
iOS开发-从app跳转到第三方应用和调用系统功能
//跳转到QQ客户端的相应聊天界面- (IBAction)ToQQ:(UIButton *)sender {UIWebView *webView = [[UIWebView alloc] initWithFrame:CGRectZero];NSURL *url = [NSURL URLWithString:@"mqq://im/chat?chat_type=wpa&ui原创 2017-05-16 16:29:21 · 927 阅读 · 0 评论 -
从0到1思考与实现iOS-Widget
讲述之前首先看下demo效果图:基本的展开收起、本App本体交互然后再展示几个效果不错的 Widget app毒物 && KeepESPNPCalcMusixmatchFantastical 2原创 2017-05-16 16:27:40 · 296 阅读 · 0 评论 -
iOS函数式编程的实现 && 响应式编程概念
简介本篇主要回顾一下--iOS函数式编程 && 响应式编程概念 ,如何一步步实现函数式编程的过程,对阅读Masonry && SnapKit源码有一定的帮助。作为一个iOS 开发者,那么你一定用过Masnory/ SnapKit;Masonry是一个OC开发中,非常好用的自动布局的第三方框架;SnapKit是Masonry团队打造的swift版本的自...原创 2017-05-16 15:51:49 · 255 阅读 · 0 评论 -
消息传递机制
每个应用或多或少都由一些需要相互传递消息的对象结合起来以完成任务。在这篇文章里,我们将介绍所有可用的消息传递机制,并通过例子来介绍怎样在苹果的框架里使用。我们还会选择一些最佳范例来介绍什么时候该用什么机制。虽然这一期的主题是关于 Foundation 框架的,但是我们会超出 Foundation 的消息传递机制 (KVO 和 通知) 来讲一讲 delegation,block 和 ta原创 2017-05-16 15:46:25 · 1248 阅读 · 0 评论 -
UIKit性能调优实战讲解
在使用UIKit的过程中,性能优化是永恒的话题。很多人都看过分析优化滑动性能的文章,但其中不少文章只介绍了优化方法却对背后的原理避而不谈,或者是晦涩难懂而且读者缺乏实践体验的机会。不妨思考一下下面的问题自己是否有一个清晰的认识:为什么要把控件尽量设置成不透明的,如果是透明的会有什么影响,如何检测这种影响?为什么cell中的图片,尽可能要使用正确的大小、格式,如果错误会有什么影响原创 2017-05-16 15:42:40 · 279 阅读 · 0 评论 -
【iOS10 SpeechRecognition】语音识别 现说现译的最佳实践
首先想强调一下“语音识别”四个字字面意义上的需求:用户说话然后马上把用户说的话转成文字显示!,这才是开发者真正需要的功能。做需求之前其实是先谷歌百度一下看有没有造好的轮子直接用,结果真的很呵呵,都是标着这个库深入学习的标题,里面调用一下api从URL里取出一个本地语音文件进行识别,这就没了? 最基本的需求都没法实现。今天整理下对于此功能的两种实现方式:首先看下识别请求的原创 2017-05-16 16:32:14 · 698 阅读 · 0 评论