![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
iOS
文章平均质量分 64
娱乐也要有深度
在白富美的世界里做一个很有天赋的懒人。
展开
-
GRPC 入门
GRPC 入门原创 2018-12-18 15:43:04 · 1325 阅读 · 1 评论 -
AttributedString
如何在一行显示不同颜色大小,不同属性的字符串呢?很多人都曾经遇到这个问题,刚巧前不久我也遇到了,在这里介绍一下解决方法。 首先,我们一般用Label来显示字符串,但这里我们用UIView来显示,一种是重绘文字,但这个太麻烦,我介绍一个简单的吧。就是用NSMutableAttributedString,代码段如下: NSString*str1 = @"AAAAA";原创 2016-02-19 09:29:10 · 243 阅读 · 0 评论 -
UIWindow
一般一个app有且只有一个UIWindow 是作为appDelegate的唯一成员存在的如果有另外一个设备的屏幕也同时运行这个app,那UIWindow就不是唯一的了这个类主要是用来管理和组织qpp呈现在屏幕上的view的这个类继承于UIView UIView继承于UIResponderUIWindow中封装了很多成员和方法,今天学的方法和属性有frame,bound原创 2016-02-19 09:29:08 · 282 阅读 · 0 评论 -
UIApplication
main() 创建应用程序对象UIApplication 创建应用程序代理对象APPDelegate 启动时间循环main函数入口 通过AppDelegate的单例(实现协议方法的代理) 进入程序UIApplicationMain是程序的入口 参数是代理的类名执行代理对象的application方法完成程序的launch紧接着执行代理对象的applicationDidB原创 2016-02-19 09:29:05 · 225 阅读 · 0 评论 -
音视频播放
要支持音视频播放 就要加一个框架AVFoundation.framwork #import @interface AVAudioPlayer : NSObject - (id)initWithContentsOfURL:(NSURL *)url error:(NSError **)outError;音频文件路径初始化 - (id)initF原创 2016-02-19 09:29:03 · 425 阅读 · 0 评论 -
心跳包
socket TCP通信的库IM应用常用用来保持链接的 确定连接状态的不会消亡的线程 实质上就是做一个NSTimer,定时向服务器发socket数据包,用来保持连接,事实更新的。原创 2016-02-19 09:29:00 · 321 阅读 · 0 评论 -
语言切换(自定义各种语言,本地化…
①首先创建本地化文件new- string file②点击每个文件进行编辑就可以了。文件中的格式是“Key”=“value”; 等号 分号都必须是英文状态。如"账 号"="賬 號";③在一个工具类中,获取存文件的bundle,NSString *path = [[NSBundle mainBundle]pathForResource:stringofType:@"lproj原创 2016-02-19 09:28:58 · 595 阅读 · 0 评论 -
线程
线程:线程是操作系统中独有的在早期的单片机等是没有的 NSThread NSOperation dispatch_queue_t这三个 就是形式不一样的线程官方推荐用GCD 所以 多用GCD IOS中主线程在main函数中创建子线程需要手动创建 编码过程中的规则:主线程不允许阻塞 主要负责UI交互子线程主要负责数据处理 (数原创 2016-02-19 09:28:55 · 372 阅读 · 0 评论 -
推送-PUSH
推送:PUSH 表现:状态栏下拉列表角标 应用程序的logo上 使用场合:当应用程序退到了后台或者根本没有运行,还可以继续和用户交互 APNS:苹果的推送服务器 推送其实是以下三者进行交互:(苹果独有推送方式)APNS CLient(iPhone) Service(应用程序服务器)①iPhone向APNS索取字符原创 2016-02-19 09:28:53 · 335 阅读 · 0 评论 -
存储数据(缓存)
***存储数据(缓存)4种方式①写文件(音视频文件 plist)②数据库 (检索)③NSUserDefault (轻量级)④CoreData数据库面向对象的封装⑤归档 (xib就是) **缓存过程:加载数据先读缓存读到数据再次加载读到的数据然后更新缓存原创 2016-02-19 09:28:48 · 596 阅读 · 0 评论 -
适配
适配XXXXX-Prefix.pch一般把适配相关的宏定义都写在这个文件中 *****物理屏幕的适配: #define DEVICE_IS)IPHONE5 ([UIScreen mainScreen].bounds.size.height == 568)4英寸#define SCREEN_HEIGHT [UIScreen mainScreen].b原创 2016-02-19 09:28:45 · 232 阅读 · 0 评论 -
本地化-Localizable
******本地化不同地区做出来的效果不一样 UI不一样 ①在项目project的Info项中设置 Localizations 的language列表添加一项简体中文 ②创建一个resource的strings的文件 命名如下 Localizable生成如下文件Localizable.strings在string文件的属性(xcode右栏)中设置L原创 2016-02-19 09:28:42 · 327 阅读 · 0 评论 -
UIWebView
UIWebView展示HTML专用NS_CLASS_AVAILABLE_IOS(2_0) @interface UIWebView : UIView NSCoding, UIScrollViewDelegate> { - (void)loadRequest:(NSURLRequest *)request;显示指定的url网页 - (void)loadHTM原创 2016-02-19 09:28:40 · 212 阅读 · 0 评论 -
ipad特有的两个类——UISplitViewCon…
以下的两个类是ipad特有的NS_CLASS_AVAILABLE_IOS(3_2) @interface UISplitViewController : UIViewController@interface UIPopoverController : NSObject UIAppearanceContainer> *******NS_CLASS_A原创 2016-02-19 09:28:37 · 457 阅读 · 0 评论 -
AppStore上线审核
今天早上,我们的应用经过三次被拒,这次终于上线了。回想过去三次的经历,觉得一路坎坷啊。。。九月份第一次上线,那个时候刚好ios8上线,但我们这边又没有对所有机型的8都测试,鉴于测试机有限,只测了三部机型的8,然后就发布了,却因为在5s上的8跑的时候,频频闪退而被拒。当然还有一些其他的小原因。为啥会闪退呢?其一,5s是64位的,其二,8这个系统不完善,其三,一些第三方库没有用最新适配8的。找到原因便原创 2016-02-19 09:29:13 · 1571 阅读 · 0 评论 -
让人头疼的ios 8——reachabili…
ios 8出来有一段时间了,喜忧参拌啊。4000多个API,强大啊;新出的SceneKit,好用哦;各种新功能,各种特效喔。但是随之而来的各种问题啊。 回想我们之前,程序被拒,其中一个原因就是5s的8下,频繁闪退。这个8啊,真真的让人头疼。先说一个简单点的吧。 reachability库,相信广大猿猿们都用过吧,在ios7下,断网了,立马就通知中心,block什么的调用着,可是原创 2016-02-19 09:29:15 · 390 阅读 · 0 评论 -
XCode报错 "_BZ2_bzRead", referenced from
问题:XCode报错 “_BZ2_bzRead”, referenced from 解决办法:在工程target的Build Phases->Link Binary with Libraries中加入libz.tbd、libbz2.1.0.tbd原创 2017-12-01 16:52:13 · 3116 阅读 · 0 评论 -
获取当前网络权限和网络状态 ios
获取网络权限比较简单 7.0以后都可以的。 获取iOS网络状态,我目前知道的有两种办法。第一种能实时监控 通知状态变化 第二种能随时在非全屏下看到具体的状态。原创 2017-07-26 11:32:45 · 13153 阅读 · 3 评论 -
iOS10App如何跳转到系统设置
跳转设置原创 2017-07-25 18:06:19 · 1982 阅读 · 0 评论 -
NSColorList—— an ordered list of NSColor objects, identified by keys.
官方API说是利用K-V来管理颜色列表的。是个clr文件,一般存在于以下目录中: /System/Library/Colors /Local/Library/Colors ~/Library/Colors原创 2017-07-25 11:28:20 · 309 阅读 · 0 评论 -
SDK11 新特性之ColorNamed
he definition for a named color that can be used anywhere you can use a color in your project.原创 2017-07-25 11:10:14 · 1267 阅读 · 0 评论 -
dumpdecrypted
PS:砸壳只能在越狱手机上进行如果没有越狱设备的话是不行的。砸壳步骤如下: 1.下载dumpdecrypted dumpdecrypted源码下载地址 下载之后放在哪里看你个人喜好。 2.设置Makefile中的SDK字段和设备上的一致在有些教程里是没有说设置SDK保持一致的。不设置能不能成功我也没有尝试过,不过设置了是一定可以的。 打开下载的dumpdecrypted文件夹里面的Make原创 2017-05-31 20:22:32 · 1349 阅读 · 0 评论 -
class-dump
用来dump目标文件的class信息的工具。它利用Objective-C语言的runtime的特性,将存储在mach-O文件中的@interface和@protocol信息提取出来,并生成对应的.h文件。安装步骤1、下载地址:http://stevenygard.com/projects/class-dump/ 2、打开终端输入open /usr/local/bin 3、把dmg文件中的clas原创 2017-05-31 18:12:27 · 335 阅读 · 0 评论 -
单元测试系列1——选择测试框架
搞单元测试首先就是选择测试框架。开了项目分之支后,经过不断的写demo,对比哪个更适合我们的项目,最终将框架定为:XCTest + OCMock + OCHamcrest这个我认为适合我们项目的框架方案。原创 2016-03-09 16:47:28 · 1261 阅读 · 0 评论 -
window覆盖层的阴影白框问题——view…
最近遇到一个怪问题,table上出现的带覆盖层的弹窗或者view上会出现时时闪现的白框,让浅灰色的覆盖图层看起来怪怪的,而且因为一闪一闪的,截图还不好截,截到的图都是正常的,所以此处不附图了。经过反复查验,是因为这样一行代码,对tableview做了如下属性,: view.layer.shadowOpacity= 0.5; 去掉这一行就好了。接下来解释一下这个是什么东西,为什么会原创 2016-02-19 09:29:27 · 494 阅读 · 0 评论 -
询问是否允许推送通知 怎么才…
那个弹框貌似是不可控的,要第一次安装才会弹出来,要想再弹出来怎么办呢?正确的做法是什么呢?1.删除该app2.一天之后再次安装该app,此时又会弹出提示框了。如果你是一个开发者,等一天绝对不是一个好策略 下面的技巧在iOS7上测试通过:Delete your app from the device.Turn the device off completely and turn原创 2016-02-19 09:29:22 · 343 阅读 · 0 评论 -
AppDelegate
最近又是做SSO单点登录,又是做push的推送,接触比较多的AppDelegate中的方法,现在做个简单的总结说明一下用到的几个方法吧:1. –(void)applicationDidFinishLaunching:(UIApplication*)application;此方法基本已经弃用,改用第2个方法代替。2. – (BOOL)application:(UIApplication原创 2016-02-19 09:29:20 · 225 阅读 · 0 评论 -
让人头疼的ios 8——GCDAsynSoc…
众所周知,socket通信有一个缓冲区,正常情况下,异步的socket是不会有socket的阻塞问题发生的,可是这个ios8却会。因为异步的socket过来的时候,他会先挂起,等到这个缓冲区满了再唤醒,这样就会出现,三四秒recv不到消息,然后三四秒后一股脑的recv好几条消息,这个实在让人有些受不了啊。我们是做股票软件的,服务器推过来的报价,报价快的时候差不多一秒两口,在ios7上的时候,就是原创 2016-02-19 09:29:17 · 490 阅读 · 0 评论 -
地图
地图: 六大经典应用之一lbs 基于位置的服务 三个经典地图:高德 百度 谷歌(谷歌面向世界,百度高德只能在国内用,核心在国内城市,现在苹果和高德合作,内嵌高德,所以一下官方库操作的是高德地图的)*** 做地图必备两个系统库:CoreLocation.frameworkMapKit.framework(若是百度地图的S原创 2016-02-19 09:28:35 · 359 阅读 · 0 评论 -
断点续传
断点续传 HTTP头中一般断点下载时才用到Range和Content-RangeRange请求头当中使用 只有请求头中写了Range字段在响应端才会有Content-Range字段Content-Range响应头当中使用 请求 ***********************************GET /test.rar HTTP/1.1 Co原创 2016-02-19 09:28:33 · 354 阅读 · 0 评论 -
socket第三方库AsyncSocket
*********使用第三方库AsyncSocket.hAsyncUdpSocket.h不建立连接的发送数据AsyncUdpSocket@interface AsyncUdpSocket : NSObject- (id)initWithDelegate:(id)delegate初始化- (BOOL)bindToPort:(UInt16)por原创 2016-02-19 09:28:30 · 1751 阅读 · 0 评论 -
sqlite
sqLite************数据库sqliteNSUserDefault 适合保存一些小的数据也可以用json和xml存数据数据库中放的是好多表数据库是首先用在服务器上的sqlServermySql两款免费的数据库LAMP——Linux+Apache+MySql+PHP常用的服务器 黄金搭档 都是免费的Windows + IIS + MSSql原创 2016-02-19 09:27:43 · 862 阅读 · 0 评论 -
抽屉效果
PPRevealSideViewController.h第三方库抽屉效果 很不错的第三方库(可以做上左下右四个方向的抽屉效果,用法简单)@interface PPRevealSideViewController : UIViewControllerUIGestureRecognizerDelegate>作为根视图控制器用法与导航控制器相近[self.revealSideViewCo原创 2016-02-19 09:27:41 · 270 阅读 · 0 评论 -
上下拉刷新
第三方库(比较简单的库 自己也可以做的)EGORefreshTableHeaderView- (void)egoRefreshScrollViewDidScroll:(UIScrollView*)scrollView- (void)egoRefreshScrollViewDidEndDragging:(UIScrollView *)scrollView- (void)egoRefre原创 2016-02-19 09:27:38 · 231 阅读 · 0 评论 -
单例
***************单例:只能实例化出一个对象的类是常用的设计模式之一整个应用程序的生命周期中只实例化一次生命周期:对象只有程序退出时才会销毁使用场合:某一个对象会被频繁的创建销毁, 数据共享固定写法:① static WYXxx *wyXxx = nil; +(WYXxx *)sharedWYXxx {if (nil) { 实例化 }retu原创 2016-02-19 09:27:36 · 213 阅读 · 0 评论 -
SDWebImage
第三方库(mrc,需要混编)常用的是UIImageView和UIButton的扩展 方法 - (void)setImageWithURL:(NSURL*)url;这个方法一般只能设置一般的uiimageview 对应uitableviewcell中自带的imageView 会出现问题[[SDImageCsche sharedImageCache] clearMemory]清空图片原创 2016-02-19 09:27:33 · 200 阅读 · 0 评论 -
ASIHTTPRequest
网络下载的第三方库*********本库是mrc的,如果项目是arc 的需要混编(-fno-objc - arc)需要4个系统库SystemConfiguration.frameworklibz.1.2.5.dylibCFNetwork.frameworkMobileCoreServices.frame************************************原创 2016-02-19 09:27:31 · 174 阅读 · 0 评论 -
同步下载与异步下载
***************************************************同步下载以下方式下载的话,如果文件过大 会停留在获取NSData的那一行代码 直到全部下载完 才会执行下一行代码 会阻塞线程请求数据@interface NSURL: NSObject NSSecureCoding,NSCopying>+ (id)URLWithString:原创 2016-02-19 09:27:29 · 1572 阅读 · 0 评论 -
中文编码问题
**********************************地址不支持空格和中文如果拿到的API中有中文 需要进行转码- (NSString*)stringByAddingPercentEscapesUsingEncoding:(NSStringEncoding)enc;NSString 的方法***********************************(XCo原创 2016-02-19 09:27:26 · 248 阅读 · 0 评论 -
沙盒路径
FOUNDATION_EXPORT NSString*NSHomeDirectory(void);沙盒目录 这个方法出现的那个文件里有好多路径类的方法简单讲述 沙盒机制沙河机制是从杀毒程序发源过来的每个程序都是独立的文件夹缓存 省流量 优化用户体验度 不用反复下载沙盒里的tmp文件夹保存(数据库也能保存)保存文件名最好使用网址 但存在很多非法字符 所以需要编码原创 2016-02-19 09:27:24 · 221 阅读 · 0 评论