
iOS
XLsn0w
Apple iOS Developer
展开
-
iOS基础面试题 集锦
iOS基础面试题(一)项目流程:项目的具体流程,技术点在流程中哪些地方使用。(这个问题的问到的几率很高!)项目的具体流程:(1)可行性分析:这个一般都是做战略的专家来做的,他们更加有市场的前瞻性,俗话说就是看的更远一些,搞市场分析、调研,看看我们的想法到底是否可行,可行性有多大,可能会遇到的问题,我们的优势在哪里,可以利用的资源有哪些,需要引进那些资源,有多少对手,他们都进行到了什转载 2016-01-15 21:44:03 · 5551 阅读 · 0 评论 -
Runtime_消息转发机制
#import "Person.h"#import #import "Cat.h"@implementation Person/** * 在ViewController里面调用catchMouse而Person没有catchMouse 但发现Cat拥有catchMouse方法可以在外界调用Person原创 2016-02-08 21:23:59 · 236 阅读 · 0 评论 -
Runtime_实现计算一个Button被点击次数
写一个分类 替换点击方法#import "UIControl+Button.h"#import @implementation UIControl (Button)static int i = 0;+ (void)load { //runtime 进行方法替换 Method m原创 2016-02-08 22:02:46 · 745 阅读 · 0 评论 -
Runtime_实例变量遍历
写一个分类 遵守协议#import @interface NSObject (Encode) NSCoding>@end在m文件里面实现归档 反归档方法#import @implementation NSObject (Encode)- (instancetype)initWithCod原创 2016-02-08 21:47:17 · 282 阅读 · 0 评论 -
概念
1. Socket连接 和 http连接的区别2. 什么是Socket3. 什么是TCP连接的三次握手4. 利用Socket建立网络连接的步骤5.ASIDownloadCache 设置下载缓存6. HTTP协议的详细介绍7 TCP / UDP区别联系8. GCD理解9.frame 和 bounds的区别10.方法和选择器有什么不同11. 什么是iOS推送消息原创 2016-02-09 21:11:44 · 269 阅读 · 0 评论 -
MacDown 编辑器 使用
MacDown编辑器 下载地址 http://macdown.uranusjr.com/# MarkDown 介绍http://c.hiphotos.baidu.com/baike/c0%3Dbaike180%2C5%2C5%2C180%2C60/sign=d997317c11ce36d3b6098b625b9a51e2/00e93901213fb80ef9原创 2016-01-31 15:29:49 · 12259 阅读 · 1 评论 -
iOS UITextField
UITextFieldDelegate>//self代理遵守协议//实现回收键盘方法- (BOOL)textFieldShouldReturn:(UITextField *)textField{ //让当前输入框取消第一响应者当前输入框 就是该方法textFieldShouldReturn后面的参数传递过来的输入框// [textField原创 2016-01-31 15:16:50 · 398 阅读 · 0 评论 -
最全iOS开发之第三方库
UI下拉刷新EGOTableViewPullRefresh – 最早的下拉刷新控件。SVPullToRefresh – 下拉刷新控件。MJRefresh – 仅需一行代码就可以为UITableView或者CollectionView加上下拉刷新或者上拉刷新功能。可以自定义上下拉刷新的文字说明。具体使用看“使用方法”。 (国人写)X转载 2016-02-14 20:11:21 · 8423 阅读 · 0 评论 -
底层基础题
1. 风格纠错题修改完的代码:修改方法有很多种,现给出一种做示例:// .h文件// http://weibo.com/luohanchenyilong/// https://github.com/ChenYilong// 修改完的代码,这是第一种修改方法,后面会给出第二种修改方法typedef NS_ENUM(NSInteger, CYLSex) { C转载 2016-02-14 21:29:44 · 517 阅读 · 0 评论 -
iPhone/Mac Objective-C 内存管理教程和原理剖析 [转]
一 基本原理 [转自]http://blog.sina.com.cn/s/blog_a2c098b50101gtu4.htmlObjective-C 的内存管理机制与.Net/Java 那种全自动的垃圾回收机制是不 同的,它本质上还是 C 语言中的手动管理方式,只不过稍微加了一些自动方法。1 Objective-C 的对象生成于堆之上,生成之后,需要一个指针来指向它。转载 2016-01-14 22:14:55 · 2060 阅读 · 0 评论 -
UITableview性能优化方案 iOS
UITableView作为ios中使用最频繁的控件之一,其性能优化也是常常要面对的,尤其是当数据量偏大并且设备性能不足时。本文旨在总结tableview的几个性能优化tips,并且随着认识的深入,本文将持续更新,力求将tableview的优化做到极致!Let`s begin!治病就要先知道病因,我们先来分析一下影响tableview滚动性能的因素有哪些:转载 2016-03-02 21:46:25 · 483 阅读 · 0 评论 -
数据结构
数据结构是在整个计算机科学与技术领域上广泛被使用的术语。它用来反映一个数据的内部构成,即一个数据由那些成分数据构成,以什么方式构成,呈什么结构。http://blog.youkuaiyun.com/wumourong/article/details/1533357原创 2016-02-17 16:43:14 · 273 阅读 · 0 评论 -
CocoaPods 安装
1.开启 终端 Terminal2.移除现有 Ruby 默认源 gem sources --remove https://rubygems.org/3.使用新的源 gem sources -a https://ruby.taobao.org/4.验证新源是否替换成功 gem sources -l5.安装 CocoaPods sudo gem install coco转载 2016-02-17 16:09:32 · 369 阅读 · 0 评论 -
iOS 9中需要使用 QQ/QQ空间/支付宝/微信SDK 的相关能力(分享、收藏、支付、登录等)时,需要在“Info.plist”里增加如下代码
近期苹果公司iOS 9系统https策略更新,限制了http协议的访问,此外应用需要在“Info.plist”中将要使用的URL Schemes列为白名单,才可正常检查其他应用是否安装。受此影响,当你的应用在iOS 9中需要使用 QQ/QQ空间/支付宝/微信SDK 的相关能力(分享、收藏、支付、登录等)时,需要在“Info.plist”里增加如下代码: key>LSApplicationQue转载 2016-02-20 21:42:11 · 1089 阅读 · 0 评论 -
iOS涂鸦画板 主要自定义UIView
#import @interface XView : UIView@property (nonatomic,strong) NSMutableArray *lineArray;//保存每条线@end//继承于UIView画板的底板View#import "XView.h"原创 2016-02-23 19:19:06 · 605 阅读 · 0 评论 -
MoviePlayerViewController
/* 依赖框架:AVFoundation.framework */#import #import @protocol MoviePlayerViewControllerDelegate NSObject>- (void)movieFinished:(CGFloat)progress;@end@pro原创 2016-02-23 19:27:02 · 606 阅读 · 0 评论 -
iOS基础常识题目
1.什么是arc?(arc是为了解决什么问题诞生的?)首先解释ARC: automatic reference counting自动引用计数。ARC几个要点:在对象被创建时 retain count +1,在对象被release时 retain count -1.当retain count 为0 时,销毁对象。程序中加入autoreleasepool的对象会由系转载 2016-02-25 21:24:12 · 384 阅读 · 0 评论 -
iOS 进程 多线程
原创 2016-02-25 22:05:06 · 376 阅读 · 0 评论 -
Runtime使ViewController具有name属性
写一个分类 在.h文件里面定义属性#import @interface NSObject (Name)@property (nonatomic,strong) NSString *name;@end在.m里面重写set get方法#import "NSObject+Name.h"#i原创 2016-02-08 20:57:59 · 366 阅读 · 0 评论 -
Runtime 实现函数func方法
#import typedef void (^xlBlock)(idself, SEL _cmd, NSString *string);+ (BOOL)resolveInstanceMethod:(SEL)sel { xlBlock block = ^(idself, SEL _cmd, NSString *原创 2016-02-08 18:52:22 · 349 阅读 · 0 评论 -
iOS 新面试题
面试题1、以下代码有什么问题吗?如果没有问题的话,obj、obj2的引⽤用计数分别是多少?如果有问题的话存在什么问题?Class *obj = [[Class alloc]init];Class *obj2 = obj;[obj hello];[obj release];[obj2 hello];[obj2 release];答:上⾯面的代码是存在问题的。当执⾏转载 2016-01-18 16:26:09 · 3415 阅读 · 0 评论 -
iOS 面试题 10题目
1.你如何看待iOS中的拷⻉贝在我看来,⽇日常⽣生活中,当我们⽤用到”拷⻉贝”这个词语的时候,不管怎样都会产⽣生两份。⼀一份是原来的,⼀一份是新拷⻉贝出来的。但是到⺫⽬目前为⽌止,在iOS中我看到了三种拷⻉贝⽅方式:(1)伪拷⻉贝:伪拷⻉贝,顾名思义,就是假拷⻉贝,没有拷⻉贝出新的对象。这⼀一点对于NSString这种类簇来说⽐比较常⻅见,NSString本⾝身是不可变字符转载 2016-01-06 10:27:41 · 1618 阅读 · 0 评论 -
iOS 面试题 11-20
11.多线程的优点和缺点分别是什么?优点:1、将耗时较⻓长的操作(⺴⽹网络请求、图⽚片下载、⾳音频下载、数据库访问等)放在⼦子线程中执⾏行,可以防⽌止主线程的卡死;2、可以发挥多核处理的优势,提升cpu的使⽤用率。缺点:1、每开辟⼀一个⼦子线程就消耗⼀一定的资源; 2、会造成代码的可读性变差;3、如果出现多个线程同时访问⼀一个资源,会出现资源争夺的情况12.C语⾔言中s转载 2016-01-06 14:58:23 · 1687 阅读 · 0 评论 -
iOS UIView初识
frame的概念 // frame 代表了一个view在父坐标系中的 位置 和 大小 // frame 是一个结构体类型 CGRect类型, 并且里面结构体成员也是结构体 origin, size // origin 是 CGPoint x y // size 是 CGSize width hei原创 2016-01-23 13:14:45 · 414 阅读 · 0 评论 -
[纯代码必备]为Xcode7 添加空模版 Empty Application
打开Finder 按快捷键 cmd + shift + G 跳出输入框 依次输入下面2个路径 并在每一个路径下拖进一个模版文件夹进去 即可 重启Xcode就有了 写纯代码必备工程模板路径: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Libr原创 2016-01-23 13:27:34 · 2656 阅读 · 0 评论 -
Xcode7.1环境下上架iOS App到AppStore 流程 [转]
感谢湖南金刚 本文版权归作者和博客园共有,来源网址:http://www.cnblogs.com/ChinaKingKong/ 前言部分 之前App要上架遇到些问题到网上搜上架教程发现都是一些老的版本的教程 ,目前iTunesConnect 都已经迭代好几个版本了和之前的 界面风格还是有很大的差别的,后面自己折腾了好久才终于把自己的App上架,所以一转载 2016-01-07 10:02:27 · 1657 阅读 · 0 评论 -
App Store上传手机屏幕截图 尺寸
截图iPhone 4s: 宽640 x 960高 等于分辨率iPhone 5/5s: 宽640 x 1136高 等于分辨率iPhone 6/6s: 宽750 x 1334高 等于分辨率iPhone 6/6s Plus: 宽1242 x 2208高 不等于分辨率1080 x 1920原创 2016-01-23 23:47:28 · 1079 阅读 · 0 评论 -
iOS 面试题 21- 30
21.在什么情况下会⽤用到weak这个关键字,作⽤用是什么?1)在ARC中,在有可能出现循环引⽤用的时候,往往要通过让其中⼀一端使⽤用weak来解决,⽐比如:delegate代理属性2)⾃自⾝身已经对它进⾏行⼀一次强引⽤用,没有必要再强引⽤用⼀一次,此时也会使⽤用weak,⾃自定义IBOutlet控件属性⼀一般也使⽤用weak;当然,也可以使⽤用strong。作⽤用: 弱引转载 2016-01-07 17:48:32 · 1236 阅读 · 0 评论 -
解决CocoaPods在OS X 10.11出现问题While executing gem ... (Errno::EPERM) Operation not permitted - /usr/bin/
最近把mac系统升级到10.11系统,但是在用pod install命令的时候,却提示command not found.后来上网查了下才知道,Cocoapods在10.11系统上发生了变化。 在stackoverflow搜到的解释是这样的,This is happening because Apple has enabled rootless on the new install,原创 2016-02-05 13:16:55 · 1060 阅读 · 0 评论 -
CocoaPods 创建Podfile 导入第三方库 详细全程图文指导
第一步在终端中进入(cd /Users/xuliang/Desktop/XL)蓝色为项目文件夹路径 按下Enter 就跳转到你项目所在目录第二步 然后在当前目录下,利用vim创建Podfile,接着输入:vim Podfile然后按下Enter 就跳转到vim编辑界面第三步 然后在Podfile文件中输入以下文字:platform :io原创 2016-02-05 14:27:49 · 2193 阅读 · 0 评论 -
UITableView UITableViewCell UITableViewController
UITableView靠mutableSet来实现重用机制功能出屏幕的cell会被添加到mutableSet中,进屏幕的cell,先从set中获取,如果获取不到,才创建 个cell。在cell显 之前,给cell赋上相应的内容。cell的reuseIdentifier重用标识符是重用的关键。原创 2016-02-06 15:54:34 · 254 阅读 · 0 评论 -
导航控制器 UINavigationController
// 导航控制器 UINavigationController是视图控制器的子类, 作用是:控制其他控制器,属于 容器视图控制器。 // 导航控制器控制的 控制器是有层级关系的。 // 比如: 设置 -》通用 -》语言 // 类似于控制器必须要有一个root根视图,导航控制器必须要有一个根视图控制器。 // 导原创 2016-02-06 18:47:07 · 288 阅读 · 0 评论 -
iOS 基础题
SEL :selector的一个类型 id :本身是一个指针不需要* 是任意类型@ :OC指令符号原创 2016-02-08 16:49:14 · 306 阅读 · 0 评论 -
iOS 网络解析
## 多线程- NSThread- GCD - 队列 - 并发队列 - 全局队列 - 自己创建 - 串行队列 - 自己创建 - 主队列 - 任务:block - 函数原创 2016-02-25 23:40:40 · 403 阅读 · 0 评论