【iOS】搜索结果

  • IOS开发---IOS概述

    1.ios简介iOS是一款由苹果公司开发的操作系统(OS是OperatingSystem的简称)2.ios系统和android系统比较

    2014-11-24

    阅读更多
  • ios--->ios沙盒总结

    ios沙盒总结沙盒介绍iOS应用程序只能在该程序创建的文件系统中读取文件,不可以去其它地方访问,此区域被成为沙盒,所以所有的非代码文件都要保存在此,例如图像,图标,声音,映像,属性列表,文本文件等。默认情况下,每个沙盒含有3个文件夹:Documents,Library和tmp。Documents:苹果建议将程序中建立的或在程序中浏览到的文件数据保存在该目录下,iTunes备份和恢复的时候会包括此目...

    2023-01-24

    阅读更多
  • iOS

    2023-01-08

    阅读更多
  • iOS

    2023-01-13

    阅读更多
  • iOS

    test

    2023-01-13

    阅读更多
  • iOS

    1.对象dealloc都做了哪些操作?大概意思是:dealloc方法在最后一次release后被调用,但此时实例变量(Ivars)并未释放,父类的dealloc的方法将在子类dealloc方法返回后自动调用理解:ARC下对象的实例变量在根类[NSObjectdealloc]中释放(通常rootclass都是NSObject),变量释放顺序各种不确定(一个类内的不确定,子类和父类间也不确定,也就是说...

    2023-01-13

    阅读更多
  • iOS警告与报错#3】Build for iOS but xxx build for iOS and iOS-Simulator

    问题编译报错BuildingforiOS,butthelinkedandembeddedframework‘xxx.framework’wasbuildforiOSandiOS-Simulator.复制代码解决方法Buildsetting->Buildoptions->VaildateWorkspace=>YES复制代码

    2022-12-25

    阅读更多
  • Unity iOS 基础 Unity iOS Basics

    ThissectioncoversthemostcommonandimportantquestionsthatcomeupwhenstartingtoworkwithiOS.本节包括了iOS工作中最常见于最重要的问题。Prerequisites前提条件I'vejustreceivediPhoneDeveloperapprovalfromApple,butI'veneverdevelopedforiOSbefore.WhatdoIdofirst?从Apple刚收到iOS开发的许可,但我之前从来没有开发过iOS,首先做什么呢?A:DownloadtheSDK,getupandrunningonth...

    2015-03-14

    阅读更多
  • iOS Multithreading: Thread Safety in iOS Applications

    http://sodecon.blogspot.com/2012/08/ios-multithreading-thread-safety-in-ios.htmliOSMultithreading:ThreadSafetyiniOSApplicationsInthispostIwillexemplifywhatitmeansiftheobjectiveccodeofyouriOSapplicationisnotthreadsafe.First,Iwillcoversomebasicsthatwillbehelpfultounderstandthreadsafety.Withthesebasics...

    2013-08-29

    阅读更多
  • IOSIOS: 正确使用PresentModalViewController

    PresentViewControllerModally一、主要用途  弹出模态ViewController是IOS变成中很有用的一个技术,UIKit提供的一些专门用于模态显示的ViewController,如UIImagePickerController等。弹出模态ViewController主要使用于一下这几种情形:  1、收集用户输入信息  2、临时呈现一些内容  3、临时改变工作模式  4、相应设备方向变化(用于针对不同方向分别是想两个ViewController的情况)  5、显示一个新的view层级  这几种情形都会暂时中断程序正常的执行流程,主要作用是收集或者显示一些信息。二、几...

    2014-10-29

    阅读更多
  • iOS building for iOS Simulator, but linking in object file built for iOS XCode12

    报错日志如下buildingforiOSSimulator,butlinkinginobjectfilebuiltforiOS今天升级了XCode12,发现模拟器编译报错:是linker链接器报了错:buildingforiOSSimulator-arm64butattemptingtolinkwithfilebuiltforiOSSimulator-x86_64原来xcode12模拟器已经用ar...

  • iOS building for iOS Simulator, but linking in object file built for iOS XCode12

    报错日志如下buildingforiOSSimulator,butlinkinginobjectfilebuiltforiOS今天升级了XCode12,发现模拟器编译报错:是linker链接器报了错:buildingforiOSSimulator-arm64butattemptingtolinkwithfilebuiltforiOSSimulator-x86_64原来xcode12模拟器已经用ar...

  • [IOS] iOS开发之TTS体验

    Android系统本身就附带TTS功能,起码对于英语的支持是比较完善的。加上网络上有三星TTS,科大讯飞TTS等等,Android的用户都可以下载安装使用。无论是英文,还是普通话的发音,效果都还不错。所以,Android的开发者就比较幸福,可以比较容易的开发和推广一些与TTS有关的产品。对于IOS系统,本身不支持TTS功能。这对于开发者来说,就要做更多的工作。首先就是要寻找好用的TTS库。网络上简单搜索一下,就会有答案:一个是OpenEars,一个是FliteTTS。网络上基本就是介绍一下这两个库,却没有实际使用。我在实际测试过程中,发现这两个库对于英文单词的发音的效果实在是太差了,和Andr...

    2013-03-20

    阅读更多
  • iOS求职之iOS面试题

    iOS求职之iOS面试题1.以下为WindowsNT下的32位C++程序,请计算sizeof的值

voidFunc(charstr[100])
{
sizeof(str)=?
}
void*p=malloc(100);
sizeof(p)=?答:这题很常见了,Func(charstr[100])函数中数组名作为函数形参时,在函数体内,数组名失去了本身的内涵,仅仅只是一个指针;在失去其内涵的同时,它还失去了其常量特性,可以作自增、自减等操作,可以被修改。WindowsNT32位平台下,指针的长度(占用内存的大小)为4字节,故sizeof(str)、sizeof(p)都为4。
2.为什么很多内置...

    2013-11-04

    阅读更多
  • IOS开发】IOS资料收集

    一.开源代码1.开源中国客户端2.Apple官网的SampleCode3.Code4APP非常棒的一个网站4.UI4APP很多内容供你参(chao)考(xi)二.Objective-C教程1.Apple官方教程(英语不好的绕道)2.CocoaDevCenter3.维基上的Objective-C语言简介

    2014-08-06

    阅读更多
  • iOS求职之iOS面试题

    iOS求职之iOS面试题1.以下为WindowsNT下的32位C++程序,请计算sizeof的值

voidFunc(charstr[100])
{
sizeof(str)=?
}
void*p=malloc(100);
sizeof(p)=?答:这题很常见了,Func(charstr[100])函数中数组名作为函数形参时,在函数体内,数组名失去了本身的内涵,仅仅只是一个指针;在失去其内涵的同时,它还失去了其常量特性,可以作自增、自减等操作,可以被修改。WindowsNT32位平台下,指针的长度(占用内存的大小)为4字节,故sizeof(str)、sizeof(p)都为4。
2.为什么很多内置...

    2014-02-12

    阅读更多
  • iOS Sharing】iOS Sharing系列目录

    其他系列本系列更新维护iOS知识点,仓库【iOSSharing#01】2019-03-231、Runtime存在的意义是什么?2、根元类的isa指针指向谁?3、根元类的superClass指针指向谁?4、函数四要素都是什么?5、实例方法去哪里找?【iOSSharing#02】2019-03-301、类方法去哪里找?2、isa指针有几种类型么?3、分类的方法具体是在什么时候添加到类的方法列表中?4、...

    2023-01-06

    阅读更多
  • iOS开发』iOS 签名机制

    iOS签名机制对称加密(SymmetricCryptography)对称加密指的是发送端和接收端使用同一种算法对明文(PlainText)进行加密(Encrypt)或对密文(CipherText)进行解密(Decrypt)发送方先将将要发送的明文消息使用加密算法加密为密文,然后将密文通过网络发送至接收方。接收方在收到消息后,使用同一算法对密文内容进行解密,即将内容解密为明文,这种情况下可以避免消息...

  • iOS实录15:浅谈iOS Crash

    导语:在当前的iOS开发中,虽然ARC为开发者解决了手动内存管理时代的许多麻烦,但是内存方面的问题依然是产生iOSCrash的元凶之一,本文介绍内存方面,有关僵尸对象、野指针、内存泄漏、废弃内存这四类问题的调试方法和代码中的注意事项。一、僵尸对象(ZombieObjects)1、概述僵尸对象:已经被释放掉的对象。一般来说,访问已经释放的对象或向它发消息会引起错误。因为指针指向的内存块认为你无权访问...

    2023-01-15

    阅读更多
  • iOSiOS启动优化方案

    一、应用启动流程iOS应用的启动可分为pre-main阶段和main()阶段,其中系统做的事情依次是:1.pre-main阶段1.1.加载应用的可执行文件1.2.加载动态链接库加载器dyld(dynamicloader)1.3.dyld递归加载应用所有依赖的dylib(dynamiclibrary动态链接库)2.main()阶段2.1.dyld调用main()2.2.调用UIApplication...

    2023-01-16

    阅读更多
  • iOSiOS电量优化方案

    1、网络方面的优化请求前判断网络状态,网络不可用,不要尝试执行网络请求;请求前设置合适的超时时间,避免长时间运行或者速度很慢的网络操作;请求过程尽量使用断点续传,否则网络不稳定的时候可能多次传输相同的内容;减少、压缩网络数据;请求结果使用缓存;网络活动会唤起需要长时间周期性供电的无线电模组,可以分批次进行网络请求,来降低开销;2、定位优化精密&高频的的定位会增加开销,需要按需使用;如果不是导航的应...

    2023-01-16

    阅读更多
  • IOS 判断IOS系统版本

    #defineSYSTEM_VERSION_EQUAL_TO(v)([[[UIDevicecurrentDevice]systemVersion]compare:voptions:NSNumericSearch]==NSOrderedSame)#defineSYSTEM_VERSION_GREATER_THAN(v)([[[UIDevicecurrentDevice]systemVersion]compare:voptions:NSNumericSearch]==NSOrderedDescending)#defineSYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO...

    2013-12-27

    阅读更多
  • iOSiOS卡顿优化方案

    一、页面卡顿的原因图像的显示原理:图像的显示需要GPU和CPU两者配合,CPU主要负责视图的创建,布局的计算和视图的绘制,然后进行图片的解码,将生成的位图交给GPU,GPU进行渲染,并将渲染的结果交到帧缓冲区,待下一个VSync信号到来的时候视频控制器从帧缓冲区取出数据,经过转换,显示到屏幕上。如果在规定的16.7ms内,CPU和GPU的合作未完成,没有生成新的渲染数据到帧缓冲区中,那么就会出现卡...

    2023-01-26

    阅读更多
  • iOS UITextField

    一、访问文本属性1、text(1)方法原型@property(nonatomic,copy)NSString*text//给文本框赋值2、attributedText(1)方法原型@property(nonatomic,copy)NSAttributedString*attributedText//显示文本字段的样式3、placeholder(1)方法原型@property(nonatomic,copy)NSString*placeholder//提示语4、attributedPlaceholder(1)方法原型@property(nonatomic,copy)NSAttributedStri...

    2015-11-30

    阅读更多
  • IOS-UITextField

    //(1)创建UITextField*textField=[[UITextFieldalloc]init];//(2)设置默认显示的字textField.placeholder=@"请输入密码";//(3)密码YES就是密文,NO明文textField.secureTextEntry=NO;//(4)设置边框以及边框颜色和大小//UITextBorderStyleNone,无边框//UITextBorderStyleLine,有边框//UITextBorderStyleBezel,有边框和阴影//UITextBorderStyleRoundedRect圆角textField.borderSty...

    2014-10-22

    阅读更多
  • IOS UITextField

    UITextField文本框UITextField*textField=[[UITextFieldalloc]initWithFrame:CGRectMake(50,50,200,50)];textField.backgroundColor=[UIColoryellowColor];文本框显示设置1.文字textField.text=@"110";2.文字颜色textField.textColor=[UIColorredColor];3.文字位置textField.textAlignment=NSTextAlignmentCenter;4.文字大小textField.font=[UIFonts...

    2014-10-28

    阅读更多
  • IOS KVO

    一,概述KVO,即:Key-ValueObserving,它提供一种机制,当指定的对象的属性被修改后,则对象就会接受到通知。简单的说就是每次指定的被观察的对象的属性被修改后,KVO就会自动通知相应的观察者了。二,使用方法系统框架已经支持KVO,所以程序员在使用的时候非常简单。1.注册,指定被观察者的属性,2.实现回调方法3.移除观察三,实例:假设一个场景,股票的价格显示在当前屏幕上,当股票价格更改的时候,实时显示更新其价格。1.定义DataModel,[cpp]viewplaincopy@interfaceStockData:NSObject{NSString*stockName;floatp...

    2013-05-31

    阅读更多
  • ios KVO

    一,概述KVO,即:Key-ValueObserving,它提供一种机制,当指定的对象的属性被修改后,则对象就会接受到通知。简单的说就是每次指定的被观察的对象的属性被修改后,KVO就会自动通知相应的观察者了。二,KVO的优点当有属性改变,KVO会提供自动的消息通知。这样的架构有很多好处。首先,开发人员不需要自己去实现这样的方案:每次属性改变了就发送消息通知。这是KVO机制提供的最大的优点。因为这个方案已经被明确定义,获得框架级支持,可以方便地采用。开发人员不需要添加任何代码,不需要设计自己的观察者模型,直接可以在工程里使用。其次,KVO的架构非常的强大,可以很容易的支持多个观察者观察同一个属性...

    2013-12-19

    阅读更多
  • IOS kvo

    KVO,即:Key-ValueObserving,它提供一种机制,当指定的对象的属性被修改后,则对象就会接受到通知。简单的说就是每次指定的被观察的对象的属性被修改后,KVO就会自动通知相应的观察者了。这里举个下例子来展示下#import<Foundation/Foundation.h>@interfaceNbaPlayer:NSObject@property(nonatomic,strong)NSString*playerName;@property(nonatomic,strong)NSString*sex;@end-(void)loadView{[superloadView];...

    2014-03-31

    阅读更多
  • iOS RunLoop

    RunLoop概念RunLoop是通过内部维护的事件循环(EventLoop)来对事件/消息进行管理的一个对象没有消息处理时,休眠以避免资源占用;有消息需要处理时,立刻被唤醒为什么main函数不会退出intmain(intargc,char*argv[]){@autoreleasepool{returnUIApplicationMain(argc,argv,nil,NSStringFromClas...

    2022-12-20

    阅读更多
  • iOS KVC

    KVCKVC全称keyvaluecoding,提供了通过字符串Key来访问对象的属性的能力。KVC机制是由NSKeyValueCoding协议定义的,在OC中,默认在NSObject的NSKeyValueCoding分类中实现了这个协议的方法。绝大多数类又是继承自NSObject的,所以几乎所有的类都获得了KVC的能力。KVC的使用方法-(void)setValue:(nullableid)val...

    2022-12-20

    阅读更多
  • ios touchid

    iOS8的SDK开放了TouchID的接口.从WWDC的视频中可以看到TouchID应用在两个方面:用于KeyChain加密和用于授权.iOS8正式版发布以后我们可以看到Evernote的iOSapp已经集成了该功能.下面来看看如何实现使用TouchID进行身份认证.其实很简单,用于身份认证的所有的接口都在LocalAuthenticationframework中,该framework实际上只有三个头文件:LAContext.hLAError.hLAPublicDefines.h而实际用到的函数也只有两个://用来判断设备是否支持TouchID-(BOOL)canEvaluatePolicy:...

    2015-01-08

    阅读更多
  • iOS-KVC

    定义KVC(key-valuecoding,键值编码):可以允许开发者通过key名直接访问对象的属性,或者给对象的属性赋值,这样就可以在运行时动态地访问和修改对象的属性,而不是在编译时就确定方法全览在开发者手册中找到NSKeyValueCodingKVC:一种可以通过名称或键间接的访问对象属性的机制取值方法设值方法accessInstanceVariablesDirectly该方法返回一个布尔值,...

  • iOS KVC

    1.KVC简介键/值编码中的基本调用是-valueForKey:和-setValue:forKey:方法NSString*name=[carvalueForKey:@"name"];valueForKey:会首先查找以参数名命名(格式为_name或_isName)的getter方法如果没有这样的getter方法,它将会在对象内寻找名称格式为_name或name的实例变量另外KVC会自动装箱和开箱标...

    2022-12-20

    阅读更多
  • iOS TouchID

    iOS指纹解锁这个需求在一些软件上可能会有需要,比如支付宝的指纹解锁之类的。前几天有人问这个,正好看了一下。很简单的一个framework的应用:LocalAuthentication.判断指纹解锁各种状态的一个枚举:失败授权(3次机会失败--身份验证失败)LAErrorAuthenticationFailed=kLAErrorAuthenticationFailed,用户取消touchid授权(用户点击取消按钮)LAErrorUserCancel=kLAErrorUserCancel,用户选择输入密码,用户点击回退按钮(输入密码)LAErrorUserFallback=kLAErrorUse...

    2016-10-31

    阅读更多
  • iOS KVC

    成员变量、实例变量、属性的区别@interfacePerson:NSObject{@public//默认为私有属性,为了让外部可以访问,需要设置为公有intage;//成员变量UIButton*btn;//实例变量NSString*string;//id是OC特有的类,本质上讲id等同于(void*)。所以iddata属于实例变量。idclassName;}//属性变量@property(stro...

    2022-12-20

    阅读更多
  • iOS KVC

    +(BOOL)accessInstanceVariablesDirectly返回NO则找不到变量_key_iskeykeyiskey顺序查找变量

    2022-12-20

    阅读更多
  • iOS-Block

    定义代码块变量捕获循环引用timerdelegateBlock的分类定义:代码块就是对一段代码运行的封装可以回调typedefNSInteger(^CalcuteSum)(inta,intb);CalcuteSumsum=^NSInteger(inta,intb){NSLog(@"开始计算了%d",a+b);returna+b;};NSIntegertag=sum(1,10);复制代码变量捕获:局...

    2022-12-20

    阅读更多
  • iOS】Initialize

    源码解读在objc-runtime-new.mm中找到class_getInstanceMethod方法Methodclass_getInstanceMethod(Classcls,SELsel){if(!cls||!sel)returnnil;//Thisdeliberatelyavoids+initializebecauseithistoricallydidso.//Thisimplement...

    2022-12-20

    阅读更多
  • iOS-cache

    源码objc_class结构体structobjc_class:objc_object{//ClassISA;Classsuperclass;cache_tcache;//formerlycachepointerandvtableclass_data_bits_tbits;//class_rw_t*pluscustomrr/allocflagsclass_rw_t*data()const{retu...

    2022-12-21

    阅读更多
  • ios navigationItem.titleView

    自定义titleViewtitleView上的控件点击无反应或者适配出现问题解决办法:在自定义的titleView中重写intrinsicContentSize的Get方法(CGSize)intrinsicContentSize{returnUILayoutFittingExpandedSize;}在自定义的titleView上设置title,用Masonry做布局的时候不要用centerx,ce...

    2022-12-22

    阅读更多
  • iOS-NSUserDefaults

    NSUserDefaults简介:NSUserDefaults用来存储用户设置系统配置等一些小的数据。因为数据是明文存储在plist文件中,不安全,即使只是修改一个key都会load整个文件,数据多加载慢(IO内存),不适合存储大量数据。它是单例的,也是线程安全的,是以键值对key-value的形式保存在沙盒中存储路径为:沙盒路径的Library——>Preferences文件夹中相当于全局的变量...

    2022-12-21

    阅读更多
  • iOS NSCache

    原文地址NSCache是苹果官方提供的缓存类,它用于临时存储键对儿,使用和NSMutableDictionary类似。其定义如下:@interfaceNSCache<__covariantKeyType,__covariantObjectType>:NSObject复制代码NSCache类结合了各种自动释放策略,确保缓存不会占用系统太多内存如果其他应用程序需要内存,这些策略将从缓存中删除一些项,从...

    2022-12-27

    阅读更多
  • iOS----NSRunLoop

    NSRunLoop大部分情况在多线程编程的时候才会用到。。但是一般不会用NSRunLoop,因为它不是线程安全的。一般都建议用CFRunLoop,这个是线程安全的。inputsourceandport-basedcustomsource这些操作,是向线程里面添加操作的。添加的这些操作,会在该线程执行空间的调度下执行。通俗的理解就是如果你创建的了一个子线程,子线程的运行函数如下-(void)subThreadvoid*)unused{NSAutoreleasePool*pool=[[NSAutoreleasePoolalloc]init];CFRunLoopRun();[poolrelease]...

  • IOS-NSRunLoop

    我们会经常看到这样的代码:12345678910-(IBAction)start:(id)sender{pageStillLoading=YES;[NSThreaddetachNewThreadSelector:@selector(loadPageInBackground:)toTarget:selfwithObject:nil];[progresssetHidden:NO];while(pageStillLoading){[NSRunLoopcurrentRunLoop]runMode:NSDefaultRunLoopModebeforeDate:[NSDatedistantFuture]]...

    2015-07-27

    阅读更多
  • ios UIAlertController

    UIAlertController*alertController=[UIAlertControlleralertControllerWithTitle:@"提示"message:@"是否删除数据"preferredStyle:UIAlertControllerStyleAlert];[selfpresentViewController:alertControlleranimated:YEScompletion:nil];UIAlertAction*cancelAction=[UIAlertActionactionWithTitle:@"取消"style:UIAlertActionStyleC...

    2016-02-17

    阅读更多
  • iOS-NSUserDefaults

    NSUserDefaults总结:1、存储类型2、存储自定义对象3、设置默认值4、删除NSUserDefaults5、注意情况NSUserDefaults在App更新和系统更新都保存,App卸载会删除一般保存用户名或者一些配置的信息1:存储类型NSUserDefaults支持的数据类型有:NSNumber(NSInteger、float、double),NSString,NSDate,NSArray,NSDictionary,BOOLNSUserDefaults不能存储可变类型(如:NSMutableArray、NSMutableDictionary)2:存储自定义对象自定义对象要先序列化、然...

    2015-12-15

    阅读更多
  • iOS NSUserDefaults

    1、删除某一项itemNSUserDefaults*defaults=[NSUserDefaultsstandardUserDefaults];[defaultsremoveObjectForKey:@"UserInfo"];[defaultssynchronize];2、删除所有NSUserDefault的itemsNSUserDefaults*userDefatluts=[NSUserDefaultsstandardUserDefaults];NSDictionary*dictionary=[userDefaultsdictionaryRepresentation];for(NSStrin...

    2015-02-12

    阅读更多
  • iOS NSUserdefaults

    一、NSUserDefaults简介1、NSUserDefaults是数据持久化的一种,可以将少量的数据保存在本地。其本质是将数据记录在plist文件中,当应用被删除,plist文件相应的会被删除,数据也就不存在了。2、NSUserDefaults是系统提供的一个单例类,通过类方法standardUserDefaults可以获取NSUserDefaults单例。在项目中,我们可以用NSUserDefaults来保存跟用户相关的一些基本信息,比如头像、昵称、电话号码、地址等。3、NSUserDefaults其本质是将数据保存在plist文件中,所以只能存储plist文件支持的数据类型,包括:NS...

    2016-07-29

    阅读更多
  • iOS UIScrollViewDelegate

    1.scrollViewDidScroll://scrollView滚动时,就调用该方法。任何offset值改变都调用该方法。即滚动过程中,调用多次-(void)scrollViewDidScroll:(UIScrollView*)scrollView{CGPointpoint=scrollView.contentOffset;NSLog(@"%f,%f",point.x,point.y);//从中可以读取contentOffset属性以确定其滚动到的位置。//注意:当ContentSize属性小于Frame时,将不会出发滚动,也不会触发该方法。}2.scrollViewWillBeginDr...

    2015-09-21

    阅读更多
  • iOS-Sandbox

    EveryAppisanislandiOS的一个应用对应一个Sandbox,正常情况下是不能够去访问其它文件目录,每一个应用就像一个岛屿。Sandbox模型:文件目录以及其作用Sandbox包含一个Bundle容器,一个Data容器,和一个iCloud容器。1、MyApp.app目录这是应用程序的程序包目录,包含应用程序和它所有的资源。这个目录没有写入文件的权限。由于应用程序必须经过签名,所以您在运行时不能对这个目录中的内容进行修改,否则可能会使应用程序无法启动。iTunes不会备份这个目录的文件。2、Documents目录这个目录用于存储用户数据或其它应该定期备份的信息,苹果建议将程序中建立...

    2016-03-14

    阅读更多
  • ios APNS

    本文作者为CocoaChina会员“marshluca”,帖子地址http://www.cocoachina.com/bbs/read.php?tid-20723.html1.将app注册notification里面,并从APNS上获取测试机的deviceToken.-(BOOL)application:(UIApplication*)applicationdidFinishLaunchingWithOptions:(NSDictionary*)launchOptions{[[UIApplicationsharedApplication]registerForRemoteNotificatio...

    2013-08-12

    阅读更多
  • iOS Animations

    1.SpringAnimations(弹性动画)animateWithDuration(_:delay:usingSpringWithDamping:initialSpringVelocity:options:animations:completion:)•usingSpringWithDamping:Thiscontrolstheamountofdamping,orreduction,appliedtotheanimationasitapproachesitsfinalstate.Thisparameteracceptsvaluesbetween0.0and1.0.Valuesclosert...

    2015-11-13

    阅读更多
  • iOS UIWindow

    UIWindow是UIView的子类,一个程序至少会创建一个window;keyWindow:接收键盘及非触摸事(Thekeywindowistheonethatisdesignatedtoreceivekeyboardandothernon-touchrelatedevents.Onlyonewindowatatimemaybethekeywindow)firstResponder:第一响应者(firstresponder)是处于一个应用程序中的响应者对象(通常是一个UIView对象),该对象被指定为非触摸事件的第一个接收者。一个UIWindow在消息中给第一响应者发送这些事件,给它处理过程...

    2013-06-17

    阅读更多
  • ios NSBundle

    NSBundle:1&gt;一个NSBundle代表一个文件夹,利用NSBundle能访问对应的文件夹2&gt;利用mainBundle就可以访问软件资源包中的任何资源

    2014-10-17

    阅读更多
  • iOS---NSBundle

    bundle是一个目录,其中包含了程序会使用到的资源.这些资源包含了如图像,声音,编译好的代码,nib文件(用户也会把bundle称为plug-in).对应bundle,cocoa提供了类NSBundle.我们的程序是一个bundle.在Finder中,一个应用程序看上去和其他文件没有什么区别.但是实际上它是一个包含了nib文件,编译代码,以及其他资源的目录.我们把这个目录叫做程序的mainbundlebundle中的有些资源可以本地化.例如,对于foo.nib,我们可以有两个版本:一个针对英语用户,一个针对法语用户.在bundle中就会有两个子目录:English.lproj和French....

    2014-02-19

    阅读更多
  • iOS - ORCharts

    ORCharts一个可定制性较强,使用起来非常简单的轻量级图表库。包括环形图、饼状图、扇形图、折线图、曲线图相关连接GitHubORCharts:环形图、饼状图、扇形图ORCharts:曲线图、折线图效果预览RingChartLineChartSliderControlDemo进入GitHub拉取代码,运行Example项目RingLine安装ORChartspod'ORCharts'复制代码On...

  • iOS-UI

    UIButtoniOS常用组件和布局,个人学习记录,仅做记录.//-(IBAction)minus:(id)sender{//NSLog(@"minus");//CGRectoriginFrame=self.btnIcon.frame;//originFrame.size.width-=10;//originFrame.size.height-=10;////originFrame.origin....

  • iOS NFC

    概述iOS在iOS11(iPhone7/iPhone7Plus)之后开放NFC主动扫描功能并且在iOS13(iPhoneXS/iPhoneXR)后开放NFC后台扫描功能。时间表对照所以在iOS端通常有两个业务场景:主动扫描:用户主动打开App并开启NFC功能扫描场景为:设备中主动打开我们的App并开始NFC扫描进程,然后可以识别到靠近的NFC标签中的数据。最低硬件要求:系统版本:iOS11硬件:i...

  • iOS UIGestureRecognizerDelegate

    //是否允许触发手势-(BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer*)gestureRecognizer;//是否允许同时支持多个手势,默认是不支持多个手势-(BOOL)gestureRecognizer:(UIGestureRecognizer*)gestureRecognizershouldRecognizeSimultaneo...

    2023-01-07

    阅读更多
  • iOS-MethodSwizzling

    MethodSwizzling相关概念MethodSwizzling是Objective-C的黑魔法,利用runtime实现。用作方法交换,顾名思义,就是将两个方法的实现交换。比如,methodA的实现是impA,methodB的实现是impB,交换之后就是调用methodA响应的是impB,调用methodB响应的是impA。MethodSwizzing是发生在运行时的。因为每个类都维护一个方法...

    2023-01-07

    阅读更多
  • iOS Runtime

    Runtime介绍Objective-C是一个动态语言,这意味着它不仅需要一个编译器,也需要一个运行时系统来动态得创建类和对象、进行消息传递和转发。理解Objective-C的Runtime机制可以帮我们更好的了解这个语言,适当的时候还能对语言进行扩展,从系统层面解决项目中的一些设计或技术问题。了解Runtime,要先了解它的核心-消息传递(Messaging)。Runtimeobjc_msgSe...

    2023-01-07

    阅读更多
  • iOS

    如果大家有其他的常用的宏定义,欢迎添加,东西如果不全面,请批评和指正!(1.判断机型,2.适配iPhoneXsMAXTabBar和导航,适配6s为基准,ipd,iPhone自适应大小,3.获取系统版本iOS13,4.GRB颜色设置,5.用于正则式,并非正则式,6.常用提示框,7.是否为空或是[NSNullnull],8.字符串是否为空,9.数组是否为空,10.便捷方式创建NSNumber类型,11...

    2023-01-07

    阅读更多
  • iOS RunLoop

    RunLoop概念RunLoop是通过内部维护的事件循环(EventLoop)来对事件/消息进行管理的一个对象没有消息处理时,休眠以避免资源占用;有消息需要处理时,立刻被唤醒为什么main函数不会退出intmain(intargc,char*argv[]){@autoreleasepool{returnUIApplicationMain(argc,argv,nil,NSStringFromClas...

    2023-01-07

    阅读更多
  • iOS WebSocket

    WebSocket是什么WebSocket是用于HTML的协议,可以在单个TCP连接进行全双工通信。不同于HTTP协议被动性,每次客户端先发起request,服务端再响应respon。而WebSocket是通过TCP有一个“握手”的连接后,客户端和服务端都可以向对方发送数据,类似socket的数据通信。WebSocket解决了HTTP非持久连接的问题,比通过轮询和长连接的方式更加高效、节省资源。i...

    2023-01-08

    阅读更多
  • iOS KVO

    KVO的能力KVO全称keyvalueobserving,用于监听对象属性的改变,可以监听多个属性。使用方法只需要复写-addObserver:forKeyPath:options:context方法即可,如果监听多个属性,需要在方法中通过keyPath来判断修改的是哪一个属性。在更复杂的业务场景下,使用context上下文以及其它辅助手段才能够帮助我们更加精准地确定被观测的对象。尤其是处理那些继...

    2023-01-07

    阅读更多
  • iOS-LayerTreeInspector

    Thisisatooltoinspectyourviewhierarchysonyouriphoneatrealtime,Providetwowaystoviewhierarchys:oneisthegeneralflattreestructureandanotheisthree-dimensionalform,SoyoucangetoutofXcodeandreachtheresultyouwa...

  • iOS AVAsset

    GitHub地址(附代码):iOSAVAsset简书地址:iOSAVAsset博客地址:iOSAVAsset掘金地址:iOSAVAsset知识预备AVFoundation概览AVFoundation是一个底层可以用来实时捕捉与播放的框架.苹果提供了回调可以获取每帧视频数据.如果你仅仅是想播放一段视频而不对视频做一些特殊处理,则您可以简单的使用上层框架如AVKitframework,AVAudioP...

  • iOS autoreleasepool

    1.AutoReleasePool的演化过程2.什么是AutoReleasePool3.AutoReleasePool底层实现原理

    2023-01-07

    阅读更多
  • iOS RunLoop

    1、RunLoop初探1.1、RunLoop是什么?RunLoop从字面上来说是跑圈的意思,如果这样理解不免有些肤浅。下面是苹果官方文档的关于RunLoop的一段说明。Runloopsarepartofthefundamentalinfrastructureassociatedwiththreads.Arunloopisaneventprocessingloopthatyouusetoschedu...

  • iOS KVO

    KVO主要的几个方法添加观察者-(void)addObserver:(NSObject*)observerforKeyPath:(NSString*)keyPathoptions:(NSKeyValueObservingOptions)optionscontext:(nullablevoid*)context;复制代码移除观察者-(void)removeObserver:(NSObject*)ob...

    2023-01-07

    阅读更多
  • iOS KVO

    1、利用RuntimeAPI动态生成一个子类,并且让intance对象的isa指向这个全新的子类2、当修改intance对象的属性时,会调用NSSetXXXValueNotify函数3、viewWillValueForKey父类原来的setterdidChangeValueForKey内部会触发监听器的监听方法observeValueForKeyPath1、手动触发KVO手动调用viewWillV...

    2023-01-07

    阅读更多
  • iOS KVO

    KVO和NSNotificationCenter都是iOS中观察者模式的一种实现。区别在于,相对于被观察者和观察者之间的关系,KVO是一对一的,而NSNotificationCenter是一对多的。KVO对被监听对象无侵入性,不需要修改其内部代码即可实现监听。KVO底层实现KVO是基于runtime机制实现的,运用了一个isa-swizzling技术。isa-swizzling就是类型混合指针机制...

    2023-01-07

    阅读更多
  • iOS-KVC

    KVC的全称是Key-ValueCoding,翻译成中文是键值编码,键值编码是由NSKeyValueCoding非正式协议启用的一种机制,对象采用该协议来间接访问其属性。既可以通过一个字符串key来访问某个属性。这种间接访问机制补充了实例变量及其相关的访问器方法所提供的直接访问。KVC相关API通过key设置值和取值//直接通过Key来取值-(nullableid)valueForKey:(NSS...

    2023-01-07

    阅读更多
  • iOS-MVVM

    小知识,大挑战!本文正在参与“程序员必备小知识”创作活动通过问题看本质!!!软件通过架构,可以管理复杂的应用程序。我们使用架构的目的很明显,就是把复杂的事情简单化。使得软件的可测性高、易用性高。MVVM通过实现双向绑定,业务逻辑和视图分离。Model:负责数据的存储。View:负责管理视图。ViewModel:负责业务逻辑处理,帮控制器瘦身。更加细粒度拆分业务逻辑,通过组合的方式建立多个ViewM...

    2023-01-07

    阅读更多
  • iOS RunLoop

    一、什么是RunLoopiOS的RunLoop简单来说就是一个运行循环,在需要的时候运行,在不需要的时候进行休眠,节省CPU资源。下面是苹果官方文档的一张解释RunLoop的图示,大概展示了RunLoop的工作原理。从上面的图可以看出RunLoop的大概工作原理,当接收到Inputsources或者Timersources时就会交给对应的处理方去处理。当没有事件消息传入的时候,RunLoop就进入...

    2023-01-07

    阅读更多
  • iOS-LLDB

    「这是我参与11月更文挑战的第5天,活动详情查看:2021最后一次更文挑战」简介lldb全称为"LowLevelDebugger",是苹果出品内置到Xcode中的调试工具,支持的语言有C、C++、Object-C等,支持的系统当然是苹果的亲儿子了OSX和iOS了.lldb的能力有哪些呢?简单概括一下就是:在指定的条件下运行程序在指定的条件下停止程序在程序停止的时候查看程序内部发生的事件在程序停止时...

    2023-01-10

    阅读更多
  • iOS-block

    一.block的底层结构及调用我们简单实现一个blockvoid(^block)(void)=^{NSLog(@"helloworld");};block();复制代码转C++代码后void(*block)(void)=&__main_block_impl_0(__main_block_func_0,&__main_block_desc_0_DATA));((**void**(*)(__block...

    2023-01-16

    阅读更多
  • ios blog

    转得一个朋友的博客,大家可以看哈(主要时国外的)主要分开发教程、示例项目、UI设计、问题解决几块。开发教程:即便过了入门阶段,还是要经常看看一些不错的实例教程。1.http://mobile.tutsplus.com/category/tutorials/iphone/比较新的一个网站,以前没注意到。其中有一篇文章着重推荐,学习iOS游戏开发可以参考的10个实例(源代码都在github上):htt...

    2023-01-17

    阅读更多
  • iOS FMDB

    IOS操作数据库,SQLite3和coredata是两个非常好的选择,但是对于我们这些掌握了其他数据库语言的人来说,使用这两中操作都会觉得不方便,SQLite3使用起来太复杂了,而使用coredata的时候却封装太死了,我们需要自己些自己的数据库语句,这时候,FMDB就是一个非常不错的选择!什么是FMDBFMDB是iOS平台的SQLite数据库框架FMDB以OC的方式封装了SQLite的C语言APIFMDB的优点使用起来更加面向对象,省去了很多麻烦、冗余的C语言代码对比苹果自带的CoreData框架,更加轻量级和灵活提供了多线程安全的数据库操作方法,有效地防止数据混乱FMDB有三个主要的类①F...

    2014-10-16

    阅读更多
  • iOS-FMDB

    实例化FMDatabase//paths:ios下Document路径,Document为ios中可读写的文件夹,在Document中,可以通过打印沙盒路径查看数据库NSArray*paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);NSString*documentDirectory=[pathsobjectAtIndex:0];//dbPath:数据库路径NSString*dbPath=[documentDirectorystringByAppendingPathCompon...

    2015-02-17

    阅读更多
  • FMDB iOS

    今天第一次学习FMDB,实现了增删查改,列几个例子供大家参考创建,插入,更新和删除:使用executeUpdate方法,而查询则用executeQuery1.实例化FMDatabase//paths:ios下Document路径,Document为ios中可读写的文件夹NSArray*paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);NSString*documentDirectory=[pathsobjectAtIndex:0];//dbPath:数据库路径,在Documen...

    2014-11-13

    阅读更多
  • iOS FMDB

    +(FMDatabase*)sharedInstance{if(!sharedInstance){NSArray*dirPaths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);NSString*databasePath=[NSStringstringWithFormat:@"%@/tmp.db",dirPaths[0]];sharedInstance=[FMDatabasedatabaseWithPath:databasePath];[sharedInstanceopen];}ret...

    2015-01-05

    阅读更多
  • iOS gcd

    原文地址:http://www.cnblogs.com/scorpiozj/archive/2011/07/25/2116459.htmlGCD之dispatchqueueiOS中多线程编程工具主要有:NSThreadNSOperationGCD这三种方法都简单易用,各有千秋.但无疑GCD是最有诱惑力的,因为其本身是apple为多核的并行运算提出的解决方案.虽然当前移动平台用双核的不多,但不影响GCD作为多线程编程的利器(ipad2已经是双核了,这无疑是一个趋势).http://www.cnblogs.com/scorpiozj/archive/2011/07/25/2116459.htmlG...

    2012-10-29

    阅读更多
  • IOS UITableView

    IOSUITableView列表控件,最常用的控件之一,到哪都能看到它。和Android的ListView相比,UITableView自带了好多功能,比如说支持分组、每组都有Header和Footer、支持快速索引等等,每次使用都会想起Android只能靠自定义控件实现,苦逼啊初始化设置如果页面就是一个列表页,可以直接继承UITableViewController开发,这样比较方便TestViewController.h#import&lt;UIKit/UIKit.h&gt;@interfaceTestViewController:UITableViewController@end如果没有继承...

    2015-05-25

    阅读更多
  • iOS ReactiveCocoa

    一、ReactiveCocoa简介ReactiveCocoa框架(简称RAC)是Github上的一个开源项目,是一个将函数响应式编程范例带入Object-C的开源库。二、ReactiveCocoa设计模式1、按钮UIButton*button=[UIButtonbuttonWithType:UIButtonTypeSystem];[buttonsetRac_command:[[RACCommandalloc]initWithEnabled:nilsignalBlock:^RACSignal*(idinput){return[RACSignalcreateSignal:^RACDisposabl...

    2017-04-18

    阅读更多
  • iOS-ReactiveCocoa

    以作用为导向去学习一类新技能,首先了解这个是用来做什么的?首先ReactiveCocoa在github上的截图它的星星相当多,然后它的维护也很勤,更新频率挺高ReactiveCocoa开发中常见用法。在我们iOS开发过程中,当某些事件响应的时候,需要处理某些业务逻辑,这些事件都用不同的方式来处理。比如按钮的点击使用action,ScrollView滚动使用delegate,属性值改变使用KVO等系统提供的方式。其实这些事件,都可以通过RAC处理ReactiveCocoa为事件提供了很多处理方法,而且利用RAC处理事件很方便,可以把要处理的事情,和监听的事情的代码放在一起,这样非常方便我们管理,...

    2016-09-13

    阅读更多
  • ios socket

    Socket使用大全第一部分、概念的理解1、什么是Socket?Socket又称之为“套接字”,是系统提供的用于网络通信的方法。它的实质并不是一种协议,没有规定计算机应当怎么样传递消息,只是给程序员提供了一个发送消息的接口,程序员使用这个接口提供的方法,发送与接收消息。Socket描述了一个IP、端口对。它简化了程序员的操作,知道对方的IP以及PORT就可以给对方发送消息,再由服务器端来处理发送的这些消息。所以,Socket一定包含了通信的双发,即客户端(Client)与服务端(server)。2、Socket的通信过程?每一个应用或者说服务,都有一个端口。比如DNS的53端口,http的80...

    2014-12-25

    阅读更多
  • iOS socket

    大纲一.Socket简介二.BSDSocket编程准备1.地址2.端口3.网络字节序4.半相关与全相关5.网络编程模型三.socket接口编程示例四.使用select五.使用kqueue六.使用流注:文档中设计涉及的代码也都在本人github目录下,分别为socketServer和socketClient.对应着各个分支。一.Socket简介在UNIX系统中,万物皆文件(Everythingisafile)。所有的IO操作都可以看作对文件的IO操作,都遵循着这样的操作模式:打开-&gt;读/写-&gt;关闭,打开操作(如open函数)获取“文件”使用权,返回文件描述符,后继的操作都通过这个文件...

  • iOS socket

    http://www.cnblogs.com/jy578154186/archive/2012/11/24/2785643.html网络编程Socket编程指南及示例程序iOSCoreData网络编程Http协议详解数据库SQLite3存储和读取数据sq3http://www.cnblogs.com/Mr_JinRui/archive/2010/05/12/1733662.htmlSQLite3一些基本的使用iOS应用架构谈网络层设计方案http://www.cocoachina.com/ios/20150603/12023.htmliOS应用架构谈view层的组织和调用方案iOS应用架构谈开...

    2015-06-01

    阅读更多
  • iOS-isa

    周边信息:1、结构体结构体是C语言中一种重要的数据类型,该数据类型由一组称为成员(或称为域,或称为元素)的不同数据组成,其中每个成员可以具有不同的类型。结构体通常用来表示类型不同但是又相关的若干数据。2、联合体“联合”与“结构”有一些相似之处。但两者有本质上的不同。在结构中各成员有各自的内存空间,一个结构体变量的总长度大于等于各成员长度之和。而在“联合”中,各成员共享一段内存空间,一个联合变量的长...

  • iOS-cache

    源码objc_class结构体structobjc_class:objc_object{//ClassISA;Classsuperclass;cache_tcache;//formerlycachepointerandvtableclass_data_bits_tbits;//class_rw_t*pluscustomrr/allocflagsclass_rw_t*data()const{retu...

    2023-01-21

    阅读更多
  • iOS-MethodSwizzling

    MethodSwizzling相关概念MethodSwizzling是Objective-C的黑魔法,利用runtime实现。用作方法交换,顾名思义,就是将两个方法的实现交换。比如,methodA的实现是impA,methodB的实现是impB,交换之后就是调用methodA响应的是impB,调用methodB响应的是impA。MethodSwizzing是发生在运行时的。因为每个类都维护一个方法...

    2023-01-21

    阅读更多
  • iOS Block

    什么是blockblock本质上也是一个OC对象,它内部也有个isa指针block是封装了函数调用及函数调用上下文环境的OC对象三种block类型全局区的block:__NSGlobalBlock__栈区的block:__NSStackBlock__堆区的block:__NSMallocBlock____NSGlobalBlock__当我们声明一个block时,如果这个block没有捕获外部变量,...

    2023-01-21

    阅读更多
  • iOS UIKit:animation

    UIView视图的动画功能,可以使在更新或切换视图时有放缓节奏、产生流畅的动画效果,进而改善用户体验。为了当UIView属性值发生改变时就形成动画,需要将这些属性绑定到animationblock中。其中在iOS4.0及之后可以使用block对象,而在之前只能使用UIView的animation开始和结束方法了。1动画属性动画属性(animationproperty)是指当在animation块中...

  • iOS UIKit:App

    1、App生命周期IOS架构是由许多设计模式实现,如model-view-controller和delegation模式。1.1main函数与其它框架类似,IOS框架的入口也是从main函数,但是无需程序猿去实现这个main函数,Xcode已经帮我们实现了,在main函数中启动UI框架,其实它是调用了UIApplicationMain函数。main函数在项目的SupportingFiles/mai...

  • iOS UIKit:view

    1、View架构1.1简介UIView表示屏幕上的一块矩形区域,它在App中占有绝对重要的地位,因为IOS中几乎所有可视化控件都是UIView的子类。UIView的功能:1)管理矩形区域里的内容;2)处理矩形区域中的事件;3)子视图的管理;4)实现动画。图11UIView及子类继承关系1.2基本结构体1)CGPoint该结构表示在二维坐标系中的坐标点。structCGPoint{CGFloatx;...

  • iOS - autoreleasePool

    是什么根据官方文档NSAutoreleasePool定义NSAutoreleasePool:AnobjectthatsupportsCocoa’sreference-countedmemorymanagementsystem.本质是一个1.对象,可以管理cocoa对象内存的引用计数autoreleasepool:Anautoreleasepoolstoresobjectsthataresentar...

    2023-01-21

    阅读更多
  • iOS-NSUserDefaults

    NSUserDefaults简介:NSUserDefaults用来存储用户设置系统配置等一些小的数据。因为数据是明文存储在plist文件中,不安全,即使只是修改一个key都会load整个文件,数据多加载慢(IO内存),不适合存储大量数据。它是单例的,也是线程安全的,是以键值对key-value的形式保存在沙盒中存储路径为:沙盒路径的Library——>Preferences文件夹中相当于全局的变量...

    2023-01-21

    阅读更多
  • iOS-KVC

    定义KVC(key-valuecoding,键值编码):可以允许开发者通过key名直接访问对象的属性,或者给对象的属性赋值,这样就可以在运行时动态地访问和修改对象的属性,而不是在编译时就确定方法全览在开发者手册中找到NSKeyValueCodingKVC:一种可以通过名称或键间接的访问对象属性的机制取值方法设值方法accessInstanceVariablesDirectly该方法返回一个布尔值,...