iOS
文章平均质量分 56
whe0302
我是whe
展开
-
setValuesForKeys 崩溃
setValuesForKeys崩溃解决 KVC原创 2022-10-13 14:48:58 · 486 阅读 · 0 评论 -
Argument type ‘xxx‘ expected to be an instance of a class or class-constrained type
参数类型错误处理原创 2022-10-13 11:41:15 · 965 阅读 · 0 评论 -
OC里的锁
iOS,OC,锁原创 2022-07-25 17:00:43 · 877 阅读 · 0 评论 -
instancetype与id的区别
instancetype与id的区别原创 2022-07-25 11:01:17 · 840 阅读 · 0 评论 -
Workspace Integrity Group,couldn‘t load project错误处理
新项目不论是最新CheckOut的还是直接别处拷贝的,出现如标题提示的项目打不开情况,多半可能是因为Xcode版本不同,或者是SVN/Git使用导致解决办法一:删除冲突代码1、鼠标右键点击工程“XX_Internal”,选择“show in finder”;2、选中工程文件“XX_Internal.xcodeproj”,右键选择“显示包内容”;3、双击“project.pbxproj”;4、输入“<<<<<<”,搜索到冲突的内容,解决冲突.解决办法原创 2021-12-16 22:38:35 · 594 阅读 · 0 评论 -
删除过期provisioning profile文件
iOS开发过程中使用的provisioning profile文件,但在Xcode中又无法删除。Xcode中所有的provisioning profile文件,都在 ~/Library/MobileDevice/Provisioning Profiles 这个文件夹下。打开方式:Finder-> 前往文件夹-> ~/资源库 进入Library文件夹选中文件,查看日期手工删除。...原创 2021-07-12 17:31:53 · 491 阅读 · 0 评论 -
iOS中block的定义与使用
概念代码块block是苹果在iOS4开始引入的对C语言的扩展,用来实现匿名函数的特性,block是一种特殊的数据类型,其可以正常定义变量、作为参数、作为返回值,特殊地,block还可以保存一段代码,在需要的时候调用,目前block已经广泛应用于iOS开发中,常用于GCD、动画、排序及各类回调block:我们称代码块,他类似一个方法。而每一个方法都是在被调用的时候从硬盘到内存,然后去执行,执行完就消失,所以,方法的内存不需要我们管理,也就是说,方法是在内存的栈区。所以,block不像OC中的类对...原创 2021-03-19 11:54:26 · 897 阅读 · 0 评论 -
解决Xcode升级报错ld: library not found for -lstdc++.6.0.9
错误信息:ld: library not found for -lstdc++.6.0.9报错原因:Xcode10之后移除了动态库libstdc解决方法1:在升级Xcode10之后版本运行项目会发出报了一个错“library not found for -libstdc++.6.0.9”,就是因为xocde10之后这个libstdc++、libstdc++.6、libstdc++6.0.9这三个库文件已经不用了。只需要打开tagets->Build Phases ->Link Bin原创 2021-01-28 17:04:41 · 1033 阅读 · 0 评论 -
IOS网络编程:HTTP
HTTP定义了一种在服务器和客户端之间传递数据的途径。URL定义了一种唯一标示资源在网络中位置的途径。REQUESTS 和 RESPONSES:客户端先建立一个TCP连接,然后发送一个请求。服务器受到请求处理后发送一个响应向客户端传递数据。然后客户端可以继续发送请求或者关闭这个TCP连接。HTTPS:在TCP连接建立后,发送请求之前,需要建立一个转载 2015-07-07 18:36:18 · 259 阅读 · 0 评论 -
沙盒目录结构
沙盒的目录结构:默认情况下,每个沙盒含有3个文件夹:Documents, Library 和 tmp。因为应用的沙盒机制,应用只能在几个目录下读写文件Documents:苹果建议将程序中建立的或在程序中浏览到的文件数据保存在该目录下,iTunes备份和恢复的时候会包括此目录Library下有两个文件夹,Caches存储应用程序再次启动所需的信息,Preferences包转载 2015-07-07 18:43:55 · 338 阅读 · 0 评论 -
UISearchBar 的相关属性和delegate
原文地址:UISearchBar控件-让我们来搞定!作者:贞娃儿最近用到搜索功能。于是,经过不断的研究,终于,有点懂了。那就来总结一下吧,好记性不如烂笔头!搜索,无疑可以使用UISearchBar控件!那就先了解一下UISearchBar控件吧!UISearchBar控件就是要为你完成搜索功能的转载 2015-09-12 10:24:34 · 245 阅读 · 0 评论 -
iOS图片拉伸技巧
纵观移动市场,一款移动app,要想长期在移动市场立足,最起码要包含以下几个要素:实用的功能、极强的用户体验、华丽简洁的外观。华丽外观的背后,少不了美工的辛苦设计,但如果开发人员不懂得怎么合理展示这些设计好的图片,将会糟蹋了这些设计,功亏一篑。比如下面张图片,本来是设计来做按钮背景的: button.png,尺寸为:24x60现在我们把它用作为按钮背景,按钮尺寸是150x50:[java] view转载 2015-10-16 16:59:45 · 319 阅读 · 0 评论 -
NSURLSession
NSURLSession历史在iOS7之后,苹果公司设计NSURLSession用来取代NSURLConnection.NSURLSession,NSURLSessionConfiguration,NSURLSessionTask. NSURLSession 指的也不仅是同名类 NSURLSession,还包括一系列相互关联的类。NSURLSession 包括了与之前相同的组件,NSU转载 2015-09-14 19:21:55 · 306 阅读 · 0 评论 -
dismissViewController实现多个模态视图跳转
最近实现的一个需求需要用到模态视图,所以少不了与dismissViewController方法打交道。本文主要讲一讲在使用dismissViewController方法过程中遇到的那些坑。由于业务逻辑比较特殊,程序中需要在A试图控制器中present B试图控制器的视图,B视图控制器需要present C视图控制器中的视图。最后从C直接返回A。dismissViewControll转载 2015-10-21 16:17:08 · 906 阅读 · 0 评论 -
使用Autolayout xib实现动态高度的TableViewCell
摘要 前言 最近又要做新功能了,虽然没有什么难点,只是获取后端XML数据显示到TableView,但是不是可以更简单快速的完成呢?原来Cell的动态高度一直都是通过sizeWithFont手动计算,潜意识觉得这应该不是最好的实现方式,但由于当时时间紧不允许尝试新技术,所以问题也就遗留了下来,这次又遇到了,时间充裕就解决下吧。 Autolayout是解决自适应frame问题的解决方案(iOS6.转载 2015-10-25 14:43:21 · 366 阅读 · 0 评论 -
IOS数据库FMDB增、删、改、查的使用
FMDB是一个XCODE的中一个轻量级的数据库,用于将网络资源存储在本地。所以,FMDB是一个很实用,很关键的知识点。在这里写了个简单的例子,基于FMDB的添删改查操作,代码可能比较乱,希望不要伤了各位的眼睛。其中添加删除更改的操作都非常简单,不需要做太多操作,只需要用到FMDB封装好的executeUpdate方法就行了。第一步、加入sqlite3的包文件 如图转载 2016-01-05 10:57:01 · 387 阅读 · 0 评论 -
关于CLASS , SEL, IMP的说明
cocoa当中的函数调用,是一种以消息的方式进行的函数调用,这一点与C++,Java是有很大差别的。因此该类型的理解,会涉及到三个重要的概念,class,sel,IMP。class每个NSObject的第一个成员变量都是class类型的成员,isa,这个isa的对象可以访问到本类的父类,也可以访问到本类的所有方法的列表。SEL这个是方法名称的描述。转载 2016-06-28 13:44:09 · 349 阅读 · 0 评论 -
Objective-C Runtime 运行时之一:类与对象
Objective-C语言是一门动态语言,它将很多静态语言在编译和链接时期做的事放到了运行时来处理。这种动态语言的优势在于:我们写代码时更具灵活性,如我们可以把消息转发给我们想要的对象,或者随意交换一个方法的实现等。这种特性意味着Objective-C不仅需要一个编译器,还需要一个运行时系统来执行编译的代码。对于Objective-C来说,这个运行时系统就像一个操作系统一样:它让所有的工作转载 2016-06-28 14:12:09 · 198 阅读 · 0 评论 -
UIImage CIImage CGImageRef
UIImage 有很多有用的东西,前段时间接触了coreImage的API,发现有一个CIImage的东西,同样还有一个CGImage的东西,这三者总是可以切换起来,多少让人觉得这个东西很能耐。 iOS编程揭秘 书中记录着如下一段话。UIImage类的Core Graphics 版本是CGImage(CGImageRef)这两个类之间很容易进行转换,因为一个UIImage类有一转载 2016-08-09 12:29:25 · 482 阅读 · 0 评论 -
UIColor,CGColor,CIColor三者的区别和联系
一、UIColor UIColor是UIKit中存储颜色信息的一个重要的类,一个UIColor对象包含了颜色和透明度的值,它的颜色空间已经针对IOS进行了优化。UIColor包含了一些类方法用于创建一些最常见的颜色,如白色,黑色,红色,透明色等,这些颜色的色彩空间也不尽相同(白色和黑色是kCGColorSpaceDeviceGray,红色的色彩空间是kCGColorSpaceDevice转载 2016-08-09 12:35:15 · 233 阅读 · 0 评论 -
iOS开发中遇到过的坑
前言做iOS开发这么长时间以来,遇到过不少难题,也踩过不少坑,本来没想过要写这篇文章,但是鉴于以下三点,笔者决定对遇到过的并且还能回忆起来的问题做个记录。每次问题解决后,满满的成就感,但是当下一次再遇到时,又是一脸懵逼。这个问题我好像见过,但就是不记得怎么解决,记录下来方便以后查阅。每次面试的时候,面试官总会问我,你在开发中遇到过哪些问题,怎么解决的?问题嘛,挺转载 2017-02-21 10:22:26 · 433 阅读 · 0 评论 -
ios实现颜色渐变的几种方法
demo地址:https://github.com/xiaochaofeiyu/YSCAnimation有用的话求个star,欢迎建议讨论。1. CAGradientLayer实现渐变CAGradientLayer是CALayer的一个特殊子类,用于生成颜色渐变的图层,使用较为方便,下面介绍下它的相关属性:colors 渐变的颜色locatio转载 2017-02-15 18:04:33 · 583 阅读 · 0 评论 -
Cocoa Core Competencies 的Object creation 和IOS面试题示例:写一个NSString类的实现
object creation:An object comes into runtime existence through a two-step process that allocates memory for the object and sets its state to reasonable initial values. To allocate an Objective转载 2017-06-12 18:22:07 · 342 阅读 · 0 评论 -
iOS 关于取消延迟执行函数 performSelector与cancelPreviousPerformRequestsWithTarget
[cpp] view plain copy@interface NSObject (NSDelayedPerforming) - (void)performSelector:(SEL)aSelector withObject:(id)anArgument afterDelay:(NSTimeInterval)delay inModes:(NSArray转载 2017-07-25 10:36:06 · 891 阅读 · 0 评论 -
基于XMPP的IOS聊天客户端程序(IOS端三)
前两篇介绍了如何通过XMPP来发送消息和接收消息,这一篇我们主要介绍如何来美化我们的聊天程序,看一下最终效果呢,当然源程序也会在最后放出好了,我们来看一下我们写的程序这里我们自定义了TableViewCell一行是显示发布日期,一行是显示发送的消息,还有一个是背景[java] view plaincopy转载 2015-04-02 00:19:11 · 295 阅读 · 0 评论 -
NSURLSession使用说明及后台工作流程分析
NSURLSession是iOS7中新的网络接口,它与咱们熟悉的NSURLConnection是并列的。在程序在前台时,NSURLSession与NSURLConnection可以互为替代工作。注意,如果用户强制将程序关闭,NSURLSession会断掉。 NSURLSession提供的功能:1.通过URL将数据下载到内存2.通过URL将数据下载到文件系统3转载 2015-07-07 18:29:14 · 279 阅读 · 0 评论 -
FMDB官方使用文档-GCD的使用-提高性能(翻译)
由于FMDB是建立在SQLite的之上的,所以你至少也该把这篇文章从头到尾读一遍。与此同时,把SQLite的文档页 加到你的书签中。自动引用计数(APC)还是手动内存管理呢? 两种都行,FMDB会在编译的时候知道你是用的哪一种,然后进行相应处理。 使用方法 FMDB有三个主要的类1.FMDatabase – 表示一个单独的SQLite数据库。转载 2015-07-07 18:19:32 · 423 阅读 · 0 评论 -
关于NSRunLoop和NSTimer的深入理解
一、什么是NSRunLoopNSRunLoop是消息机制的处理模式NSRunLoop的作用在于有事情做的时候使的当前NSRunLoop的线程工作,没有事情做让当前NSRunLoop的线程休眠NSTimer默认添加到当前NSRunLoop中,也可以手动制定添加到自己新建的NSRunLoopNSRunLoop就是一直在循环检测,从线程start到线程end,检测inpu转载 2015-04-08 23:02:45 · 326 阅读 · 0 评论 -
Objective-C Runtime 运行时之一:类与对象
Objective-C语言是一门动态语言,它将很多静态语言在编译和链接时期做的事放到了运行时来处理。这种动态语言的优势在于:我们写代码时能够更具灵活性,如我们可以把消息转发给我们想要的对象,或者随意交换一个方法的实现等。这种特性意味着Objective-C不仅需要一个编译器,还需要一个运行时系统来执行编译的代码。对于Objective-C来说,这个运行时系统就像一个操作系统一样:它让所有的转载 2015-04-08 22:56:28 · 360 阅读 · 0 评论 -
关于SQLite,SQLCipher和FMDB
关于SQLite,SQLCipher和FMDB SQLite是一个轻量的、跨平台的、开源的数据库引擎,它的在读写效率、消耗总量、延迟时间和整体简单性上具有的优越性,使其成为移动平台数据库的最佳解决方案(如iOS、Android)。然而免费版的SQLite有一个致命缺点:不支持加密。这就导致存储在SQLite中的数据可以被任何人用任何文本编辑器查看到。 如果我们想要使得自己的数据转载 2015-04-08 07:46:45 · 1079 阅读 · 0 评论 -
KVC 与 KVO 理解
Key-Value Coding (KVC)KVC,即是指 NSKeyValueCoding,一个非正式的 Protocol,提供一种机制来间接访问对象的属性。KVO 就是基于 KVC 实现的关键技术之一。一个对象拥有某些属性。比如说,一个 Person 对象有一个 name 和一个 address 属性。以 KVC 说法,Person 对象分别有一个 value 对应他的 n转载 2015-04-12 21:45:19 · 344 阅读 · 0 评论 -
iOS开发系列--音频播放、录音、视频播放、拍照、视频录制
转自:http://www.cnblogs.com/kenshincui/p/4186022.html概览随着移动互联网的发展,如今的手机早已不是打电话、发短信那么简单了,播放音乐、视频、录音、拍照等都是很常用的功能。在iOS中对于多媒体的支持是非常强大的,无论是音视频播放、录制,还是对麦克风、摄像头的操作都提供了多套API。在今天的文章中将会对这些内容进行一一介绍:转载 2015-04-12 22:43:22 · 843 阅读 · 0 评论 -
iOS开发多线程篇—GCD介绍
iOS开发多线程篇—GCD介绍一、简单介绍1.什么是GCD?全称是Grand Central Dispatch,可译为“牛逼的中枢调度器”纯C语言,提供了非常多强大的函数 2.GCD的优势GCD是苹果公司为多核的并行运算提出的解决方案GCD会自动利用更多的CPU内核(比如双核、四核)GCD会自动管理线程的生命周期(创建线程、调转载 2015-04-07 00:44:50 · 328 阅读 · 0 评论 -
基于XMPP的IOS聊天客户端程序(IOS端一)
介绍完了服务器,这篇我们就要介绍重点了,写我们自己的IOS客户端程序先看一下我们完成的效果图首先下载xmppframework这个框架,下载点ZIP下载接下来,用Xcode新建一个工程将以下这些文件拖入新建工程中加入framework并设置到这里我们就全转载 2015-04-02 00:05:31 · 389 阅读 · 0 评论 -
基于XMPP的IOS聊天客户端程序(IOS端二)
为了方便程序调用,我们把XMPP的一些主要方法写在AppDelegate中在AppDelegate.m下这几个方法为:[java] view plaincopy-(void)setupStream{ //初始化XMPPStream xmppStream = [[XMPPStrea转载 2015-04-02 00:05:40 · 355 阅读 · 0 评论 -
shouldAutorotateToInterfaceOrientation 不触发或者不执行的问题
注: 要翻转的时候,首先响应的方法:- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientationreturn YES则支持翻转,NO则不支持。紧接着-(void)willRotateToInterfaceOrientation:(转载 2015-04-02 00:02:14 · 4551 阅读 · 0 评论 -
iOS 播放音频的几种方法
iPhone OS 主要提供以下了几种播放音频的方法:System Sound ServicesAVAudioPlayer 类Audio Queue ServicesOpenAL1. System Sound ServicesSystem Sound Services 是最底层也是最简单的声音播放服务,调用 AudioServicesPlay转载 2015-03-30 17:42:10 · 484 阅读 · 0 评论 -
iOS中动画实现技术主要是:Core Animation。
Core Animation负责所有的滚动、旋转、缩小和放大以及所有的iOS动画效果。其中UIKit类通常都有animated:参数部分,它可以允许是否使用动画。 Core Animation主要是使用 我们知道每个UIView都关联到一个CALayer对象,CALayer是Core Animation中的图层。 Core Animation主原创 2015-03-30 20:04:16 · 422 阅读 · 0 评论 -
iOS中多线程原理与runloop介绍
一.线程概述有些程序是一条直线,起点到终点;有些程序是一个圆,不断循环,直到将它切断。直线的如简单的Hello World,运行打印完,它的生命周期便结束了,像昙花一现那样;圆如操作系统,一直运行直到你关机。 一个运行着的程序就是一个进程或者叫做一个任务,一个进程至少包含一个线程,线程就是程序的执行流。Mac和iOS中的程序启动,创建好一个进程的同时, 一个线程便开始运行,这个线程叫主转载 2015-04-09 00:16:03 · 246 阅读 · 0 评论 -
IOS开发之瀑布流照片墙实现
想必大家已经对互联网传统的照片布局方式司空见惯了,这种行列分明的布局虽然对用户来说简洁明了,但是长久的使用难免会产生审美疲劳。现在网上流行一种叫做“瀑布流”的照片布局样式,这种行与列参差不齐的状态着实给用户眼前一亮的感觉,这种不规则的方式也吸引着我,现在我们就来一起实现它吧 :)首先我们来看一下这种样式布局是如何体现的,请看示意图:别看这种界面的布局好像毫无规律,其实它转载 2015-04-09 00:42:17 · 728 阅读 · 0 评论