
IOS
文章平均质量分 78
chenbinqq
这个作者很懒,什么都没留下…
展开
-
iOS之属性修饰符 retain、strong和copy区别测试
时不时会有点迷惑属性修饰符retain、strong、copy三者之间的区别,还是把测试过程记录下来好一点!一、属性修饰符retain、strong、copy修饰字符串测试先看代码,创建一个Person类,定义属性#import <Foundation/Foundation.h>@interface Person : NSObject@property (nona...转载 2019-10-20 11:24:15 · 816 阅读 · 0 评论 -
Xcode中使用cocoapods
1.安装cocoapods(不做说明,随便搜一下就有好多资料);2.使用Xcode新建空工程(不做说明,做iOS的都会),然后将工程关闭;3.使用终端进入到工程根目录,然后编辑Podfile:vim Podfile在Podfile中输入:platform :ios, '7.0' #最小支持到iOS7.0target '项目名' do #项目名称inhibit_all...转载 2019-03-05 12:48:42 · 2627 阅读 · 0 评论 -
IOS开发语法学习(一)
1.IOS中类声明的文件叫做接口文件,以.h命名。2.类定义的文件叫做实现文件,以.m命名。3.#import是文件包含的内容。4.声明对象类名 *对象名 * 表示对象是对类的一个引用5.为对象分配空间对象名=[类名 alloc]alloc消息是定义在类方法中的6.为对象进行初始化对象名=[对象名 init]init消息是定义在...原创 2019-03-02 16:33:59 · 2037 阅读 · 1 评论 -
Mac OS中安装cocoapods
在Mac OS中打开终端窗口查看Ruby 源gem source -l安装cocoapods sudo gem install cocoapods由于淘宝 ruby 环境可能不再维护,切换为一个新的地址https://gems.ruby-china.com移除现有的Ruby源gem source --remove https://ruby.taobao....原创 2019-03-06 22:05:06 · 3846 阅读 · 0 评论 -
CocoaPods简介
1、为什么需要CocoaPods在进行iOS开发的时候,总免不了使用第三方的开源库,比如SBJson、AFNetworking、Reachability等等。使用这些库的时候通常需要:下载开源库的源代码并引入工程向工程中添加开源库使用到的framework解决开源库和开源库以及开源库和工程之间的依赖关系、检查重复添加的framework等问题如果开源库有更新的时候,还需要将工程中使用的...转载 2019-03-08 10:27:42 · 4290 阅读 · 1 评论 -
CocoaPods在项目中的使用
在阅读本文之前,请先阅读《CocoaPods简介》,对CocoaPods有一个简单了解。然后,阅读并参照《Mac OS中安装cocoapods》,在Mac Book中成功安装CocoaPods。为了学习CocoaPods的使用,本文中将创建一个测试用的项目MyCocoaPods。创建完成后的MyCocoaPods,在Xcode中的目录结构如下图选中项目名称,右键-Show in...原创 2019-03-08 13:00:18 · 267 阅读 · 0 评论 -
深入理解Objective-c中@class 和#import的区别
在面向对象objective-C语言中,当一个类使用到另一个类时,并且在类的头文件中需要创建被引用的指针时,可以#import方式引入,通过@class引入;#import和@class区别:1、运用#import方式:会包含被引用类的所有信息,包括被引用类的变量和方法; 运用@class方式:告诉编译器只是类的声明,具体这个类里有什么信息,如何定义的,这里不需要知道...转载 2019-03-21 10:16:19 · 765 阅读 · 0 评论 -
将IOS项目打包为Framework+打包后的测试
本文内容主要是:打包Framework、打包后的测试。打包Framework1.新建静态库项目iOS--Framework&Library--Cocoa Touch Framework设置项目名为MyFramework,项目创建完成后在Xcode中的目录结构如下图2.向MyFramework静态库项目中添加需要打包的所有文件本文中向其中添加MyLog.h和MyL...原创 2019-03-13 00:01:54 · 2610 阅读 · 0 评论 -
将使用了CocoaPods的IOS项目打包为Framework+打包后的测试+PrefixHeader.pch使用
在阅读本文之前,请先阅读《将IOS项目打包为Framework+打包后的测试》,因为本文是在它的基础上,在原IOS项目中添加了CocoaPods来管理项目使用到的第三方库。本文内容主要是:在原有的静态库项目MyFramework中添加CocoaPods、打包Framework、打包后的测试、PrefixHeader.pch使用。不选择 Cocoa Touch Static Library 是因...原创 2019-03-13 14:49:10 · 3544 阅读 · 0 评论 -
unrecognized selector sent to instance 0x7fe590d11d40'
问题描述:本文中IOS项目使用了CocoaPods管理第三方库。为了将项目打包为.framework,另外单独建立了一个Cocoa Touch Framework静态库项目,并成功将项目打包为.framework,具体的如何将使用了CocoaPods管理第三方库的项目打包为.framework,可以参考文章《将使用了CocoaPods的IOS项目打包为Framework+打包后的测试+Pref...原创 2019-03-22 15:37:50 · 11497 阅读 · 0 评论 -
IOS项目打包bundle
开发环境:Xcode新建Bundle并配置相关参数在Xcode中打开项目,选中项目,在TARGETS中选择最下面的“+”号--macOS--Framework&Library--Bundle,本文中设置的Bundle名称为MyBundle"Base SDK" 设置为 "iOS""Build Active Architecture Only" 设置为 "YES"...原创 2019-03-26 15:56:33 · 1781 阅读 · 0 评论 -
将打成的.framework和.bundle集成到其他IOS项目中使用,原有的图片加载方式需要修改
打包.framework可以参考文章《将使用了CocoaPods的IOS项目打包为Framework+打包后的测试+PrefixHeader.pch使用》打包.bundle可以参考文章《IOS项目打包bundle》问题描述:使用静态库项目已经将.framework、.bundle包打好,并且.framework中的代码使用了.bundle中的图片资源文件,.framework中对图片资...原创 2019-03-26 17:05:10 · 1965 阅读 · 0 评论 -
iOS学习——属性引用self.xx与_xx的区别
在iOS开发过程中,我们用@proprety声明一个属性后,在代码中我们可以用self.xx与_xx来获取到这个属性。但是一直有一个疑惑,那就是这两个之间有什么区别呢?最初我一直觉得这两个之间没什么区别的,直到有一次,我发现自己明明对声明的属性进行了赋值,但是在使用_xx引用时发现为nil,这才引起我的注意。所以,今天在这里对这个问题进行统一的一个说明和学习。1@propert...转载 2019-03-28 17:19:32 · 553 阅读 · 0 评论 -
UISearchBar背景的处理
1、去掉 UISearchBar 的背景[[searchBar.subviews objectAtIndex:0] removeFromSuperview];或者 for (UIView *subview in searchBar.subviews) { if ([subview isKindOfClass:NSClassFromString(@"UISearc转载 2015-05-24 11:30:00 · 504 阅读 · 0 评论 -
sqlite 实例教程 IOS下用sqlite打造词典
sqlite 是个好东西,对于移动平台来说。一直想写有关sqlite的教程,但是不知道从何写起,考虑了很久,还是从一个小Demo 谈起吧。我写了一个精简版的词典,实现了增删查改的基本功能。工程结构如下。最后效果图如下。效果图中可以看到,我查询 "cc",所有相关条目都查询出来了。好了,现在开始讲解我的项目。首先可以看我的工程目录,QueryResultList 是界转载 2015-05-24 11:22:21 · 587 阅读 · 0 评论 -
如何在发布到苹果的App Store之前发送测试版本给客户
程序完成之后,可能经过内部测试,客户也需要体验下程序运行效果,但开发与客户有时不在同一城市,所以解决的办法是获得客户所用的iPhone的UUID,据此打包一个版本,发送给客户,这样客户也可以体验了。步骤如下:把客户的UUID加入到证书中,生成release版本,新建一个”palyload”文件夹,把生成的版本放到这个目录中,压缩变成了payload.zip,把后缀名改成payload.转载 2015-05-24 10:33:16 · 2325 阅读 · 0 评论 -
创建基于主-从视图的应用程序(Master-Detail Application)
以Master-Detail Application创建的应用程序在iPad和iPhone上都能运行,虽然模板解决了大部分问题,但还是有一些Apple遗留问题需要解决。使用该模板创建项目时,需要将下拉列表Device Family设置为Universal,且不要选择复选框Use Core Data。项目默认就包含两个故事板,一个用于iPhone(MainStoryboard_iPhone.st转载 2014-07-31 09:36:45 · 1389 阅读 · 0 评论 -
iOS学习之UIActionSheet的使用
UIActionSheet是在iOS弹出的选择按钮项,可以添加多项,并为每项添加点击事件。为了快速完成这例子,我们打开Xcode 4.3.2, 先建立一个single view application。然后再xib文件添加一个button,用来弹出sheet view。1、首先在.h文件中实现协议加代码的地方在@interface那行的最后添加,协议相当于java里转载 2014-09-07 11:34:40 · 513 阅读 · 0 评论 -
iOS中#import和@class的区别
1.import会包含这个类的所有信息,包括实体变量和方法,而@class只是告诉编译器,其后面声明的名称是类的名称,至于这些类是如何定义的,暂时不用考虑,后面会再告诉你。2.在头文件中, 一般只需要知道被引用的类的名称就可以了。不需要知道其内部的实体变量和方法,所以在头文件中一般使用@class来声明这个名称是类的名称。而在实现类里面,因为会用到这个引用类的内部的实体变量和方法,所以转载 2014-09-13 09:29:15 · 531 阅读 · 0 评论 -
iOS编程中视图控制器与视图类
iPhone编程规则是:一个窗口,多个视图。UIView是iPhone屏幕上很多控件的基础类。每个iPhone用户界面都是由显示在UIWindow(这其实也是个特殊的UIView)内的众多UIView及其专门化子类构建的。 显示数据的视图:UITextView UILabel UIImageView UIWebView MKMapViews UIScrollView转载 2014-10-11 15:04:23 · 604 阅读 · 0 评论 -
Objective-c 数字对象(NSNumber)
在Objective-c中有int的数据类型,那为什么还要使用数字对象NSNumber?这是因为很多类(如NSArray)都要求使用对象,而int不是对象。NSNumber就是数字对象,我们可以使用NSNumber对象来创建和初始化不同类型的数字对象。如:转载 2014-11-19 09:16:03 · 519 阅读 · 0 评论 -
IOS页面切换的几种方式
从一个视图控制器切换到另一个视图控制器的几种方式 1,模态(modal)画面的显示方法:例如iphone通讯录管理程序中,追加新的通讯纪录时,就是使用这种模态画面例:点击一个按钮,进入另一个界面- (IBAction)pressAbout:(id)sender { XAboutViewController *about=[[[XAbou转载 2014-10-16 15:26:40 · 3473 阅读 · 0 评论 -
iOS开发如何将自己的程序在真机上运行
想要将自己编写的软件放到真正的iPhone上去运行,首先你需要成为Apple Developer计划的成员。其次,你需要设置程序ID和认证书,在这之后你就可以在你指定的iPhone上运行你的程序了。下面我将会告诉你如何设置你的程序ID和认证书,让你的程序在iPhone上跑起来。 首先你需要登陆你的Developer Member Center(Developer.apple.com),转载 2015-01-06 21:28:57 · 7682 阅读 · 0 评论 -
Objective-C语法快速参考
大部分有一点其他平台开发基础的初学者看到XCode ,第一感想是磨拳擦掌,看到 Interface Builder 之后,第一感想是跃跃欲试,而看到Objective-C 的语法,第一感想就变成就望而却步了。好吧,我是在说我自己。 如果你和我一样,对苹果相关的开发:Mac OS X 或是iPhone 有兴趣,但是第一时间看到 Objective-C 就会头疼转载 2015-01-16 14:34:03 · 454 阅读 · 0 评论 -
iOS 数据持久化之使用NSUserDefaults存储数据
iOS下可以使用NSUserDefaults、sqlite、CoreData几种常用的方式来存储数据,其中NSUserDefaults用来存储类似用户的配置等这些的数据,后两者用户存储大批量和比较复杂的数据。NSUserDefault的使用比较简单:NSUserDefaults *mySettingData = [NSUserDefaults standardUserDefaults];转载 2015-04-17 21:29:49 · 446 阅读 · 0 评论 -
ios中关于delegate(委托)的使用心得
从开始从事OC工作到现在大概1年多了,从当初接触oc的"协议"的不明白,到现在代码中随处可见的委托,协议,其中感悟颇多。 首先,大家应该都明白的是委托是协议的一种,顾名思义,就是委托他人帮自己去做什么事。也就是当自己做什么事情不方便的时候,就可以建立一个委托,这样就可以委托他人帮自己去实现什么方法。 其次,我简单的总结了一下自己用到的委托的作用有两个,转载 2015-05-17 10:14:42 · 439 阅读 · 0 评论 -
IOS中操作表ActionSheet
在iPhone中操作表会从屏幕下方滑出来,为用户提供多于两个的选择。在其布局中,最下面一般是一个“取消”按钮,它最容易被用户点击到;如果选项中有一个破坏性操作,将会放在最上面,比较不容易触碰到的位置,还可以将其颜色设置为红色。在iPad中操作表随机出现在触发它的按钮的周围,而且还没有“取消”按钮,即使在代码中定义了也不会显示的。UIActionSheetDelegate 和UIActionSh原创 2015-05-30 22:04:46 · 2151 阅读 · 0 评论 -
Object-C非正式协议与正式协议的区别
一、非正式协议显然这个名词是相对于正式协议而言的。在解释非正式协议之前,先引用两段话:1、在《Cocoa设计模式》第六章类别的6.3.2把类别用于非正式协议一节中,这样写到:非正式协议通常定义为NSObject的类别。类别接口中指定的方法可能会或者可能不会被框架类实际地实现。非正式协议位于一种设计灰区中。正式协议由编译器检查并且代表一种关于对象能力的保证,但是非正式协议不会做出保证--转载 2015-05-30 13:17:08 · 368 阅读 · 0 评论 -
IOS应用开发基础
1.mac中的应用程序框架为cocoa,ios为cocoa touch,两者类似,cocoa和cocoa touch可以有很多种实现,但是应该都包含两个部分:foundation:处理用户界面以外的特性的类库,很多类,如nsarray,nsstring是cocoa和cocoa touch通用的application kit:界面相关的类库,mac下为appkit,ios为uik转载 2014-07-19 10:30:54 · 601 阅读 · 0 评论