
iOS
agan11423
我们就是修理连
展开
-
iOS 关于深copy和浅copy的一些误区
题记:请问property里面的copy是深copy还是浅copy?面对上面的这个问题,你先的理解什么是深copy和浅copy,参考以下的图说明:我们创建了一个对象A,然后指针P1指向了对象A,这时候进行了浅copy,简单说就是把指针P2直接指向了对象A,而进行深copy之后又创新创建了对象B,同时新的指针指向了对象B。总结上面就是,浅copy就是指针的copy,深copy就是指针和对象的copy那我们在property里面用的copy到底是哪一种copy方式?这主要看你copy的内容,.原创 2022-05-19 16:46:43 · 153 阅读 · 0 评论 -
iOS15使用带Header的tableview 顶部出现空白问题
使用带Header的tableview 顶部出现空白问题如果你的系统是iOS15中出现,那么这就是iOS15 SDK带来的新问题,需要单独处理,处理方式如下:if (@available(iOS 15.0, *)) { table.sectionHeaderTopPadding = 0;}问题原因:UITableView新增了一条新属性:sectionHeaderTopPadding, 默认会给每一个section header 增加一个高度,当我们使用 UITableViewStyl原创 2021-10-23 14:36:24 · 3448 阅读 · 0 评论 -
OC Protocol(待续)
Protocol协议声明任何类都可以选择实现的编程接口。协议使得两个通过继承而远近相关的类可以相互通信以实现某个目标。因此,它们提供了一种替代子类化的方法。任何可以提供对其他类有用的行为的类都可以声明一个编程接口,以匿名方式提供该行为。任何其他类都可以选择采用协议并实现其一个或多个方法,从而利用该行为。如果协议采纳者实现了协议中的方法,则声明协议的类将调用这些方法。其实OC中的Protocol跟Java中的Interface是非常相似的。Formal and Informal Protocols有原创 2020-10-15 13:32:28 · 288 阅读 · 0 评论 -
Objective-C Runtime Programming Guide
Objective-C Runtime Programming Guide与运行时交互Objective-C程序在三个不同的层次与运行时系统交互:通过Objective-C源代码;通过在基础框架的NSObject类中定义的方法;通过直接调用运行时函数。Objective-C Source Code在大多数情况下,运行时系统在后台自动工作。您只需编写和编译Objective-C源代码就可以使用它。当您编译包含Objective-C类和方法的代码时,编译器将创建实现语言动态特性的数据结构和函原创 2020-10-12 16:56:31 · 236 阅读 · 0 评论 -
Swift 中的 Sequence 基础篇
内容简介:Swift 中的 Sequence 基础篇本文转载自:添加链接描述本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有。Swift 是一门可以让你按照自己喜欢的方式写代码的语言,它有很强的扩展能力,而它众多的 Collection Protocols 则是这种扩展能力的提供者之一。本文介绍一下 Sequance 和 Iterator 的基本概念,及如何实现一个 Sequence。撰写本文时的 Swift 版本是 Swift 3.1。SequenceSequence 是一系列相同转载 2020-08-14 11:33:05 · 1677 阅读 · 0 评论 -
加了 Alert Actionsheet 出来的吧, iOS12.x+ 的 bug。。。
2020-07-06 15:06:52.402824+0800 工作清单[52603:1407850] [LayoutConstraints] Unable to simultaneously satisfy constraints.Probably at least one of the constraints in the following list is one you don’t want.Try this:(1) look at each constraint and try to fig原创 2020-07-06 15:45:54 · 209 阅读 · 0 评论 -
Xcode11+打包时提示:com.apple.transporter.mediatoolkit-2.0.0.jar
升级到Xcode 11* 后,上传app store失败,提示需要安装 .jarApp Store Connect Operation ErrorA downloaded software component is corrupted and will not be used. https://contentdelivery.itunes.apple.com/transporter/repositories/j2se8/2.0.0/bundles/com.apple.transporter.mediat原创 2020-07-01 18:11:12 · 2412 阅读 · 0 评论 -
IteratorProtocol说明
其实所有的内容均来自Apple开发官网IteratorProtocol类型:Protocol说明:一次提供一个序列值的类型。申明protocol IteratorProtocol概述迭代器协议与序列协议紧密相连。序列通过创建一个迭代器来提供对其元素的访问,迭代器跟踪其迭代过程,并在一次返回一个元素。无论何时在数组、集合或任何其他集合或序列使用for-in,都将使用该类型的迭代...原创 2020-04-15 18:26:36 · 286 阅读 · 0 评论 -
NSInvocation 理解
NSInvocation 理解说明类说明类申明简介使用调用与方法签名配置调用对象selectortargetsetArgument:atIndex:getArgument:atIndex:argumentsRetainedretainArgumentssetReturnValue:getReturnValue:优势使用说明类说明作为一个呈现Objective-C消息的对象。类申明@int...原创 2020-03-19 15:14:56 · 927 阅读 · 0 评论 -
【bug系列】IPA processing failed
在上传到APP Store 或者通过Ad Hoc导出包的时候出现如下错误这个时候有一个可能的错误就是Framework在制作的时候将X86和ArmX系列做了融合而在上线的时候APP Store是不支持X86架构的,所以需要剔除。解决办法在工程中添加如下脚本# Without further ado, here’s the script. Add a Run Script step t...原创 2019-11-29 14:10:17 · 413 阅读 · 0 评论 -
Logos介绍以及用法【未完待续】
参考链接Logos wiki定义Logos是theteosdevelopment套件的一个组件,它允许使用一组特殊的预处理器指令轻松而清晰地编写方法挂钩代码。概述Logos提供的语法极大地简化了MobileSubstrate扩展(“tweaks”)的开发,它可以在整个OS中钩住其他方法。在这种情况下,“方法钩住”是指用于替换或修改在电话上的其他应用程序中找到的类的方法的技术。...原创 2019-11-29 10:48:42 · 964 阅读 · 0 评论 -
【逆向】class-dump导出头文件
链接地址:class-dump简介这是一个命令行实用程序,用于检查存储在Mach-O文件中的Objective-C运行时信息。它为类、类别和协议生成声明。这与使用“otool-ov”提供的信息相同,但作为普通的Objective-C声明提供,因此它更加紧凑和可读。This is a command-line utility for examining the Objective-C runt...原创 2019-11-27 10:04:07 · 478 阅读 · 0 评论 -
Swift的initialization
InitializersInitializers被调用来创建特定类型的新实例。其最简单的形式中,一个初始化类似于实例方法不带参数,使用init关键字写成:init() { // }下面示例定义了的结构体Fahrenheit,用来存储存储温度。Fahrenheit结构具有一个存储的属性,温度,它的类型是Double:struct Fahrenheit { var temp...原创 2019-11-26 17:36:14 · 122 阅读 · 0 评论 -
Type 'XXX' does not conform to protocol 'SomeProtocol'
有时候我们在调试Swift程序的时候会出现如下的情况:Type ‘SomeClass’ does not conform to protocol ‘SomeProtocol’碰到这个问题该怎么解决了?我们到苹果Swift开发文档看看参考文档里面有Initializer Requirements当我们定义一个protocol的时候,如下示例:protocol SomeProtocol ...原创 2019-11-14 13:57:54 · 5159 阅读 · 0 评论 -
报错Provisioning profile "XX" doesn't include signing certificate "xx developer"
讲一下我是怎么解决的把,我当时链接的是真机,跑的时候把release的证书加载了上面,所以一直报错,当我改成debug模式下的话就ok了,还是自己不小心,仅供参考~...原创 2019-10-13 17:40:41 · 942 阅读 · 0 评论 -
iOS开发-第二讲-在Playgrounds上来练练兵吧
现在你就可以开始你的iOS App开发了。 技能要求: 1、了解swift语法或者Objective-C 2、了解开发工具-Xcode 3、了解iOS的SDK(software development kit)Swift介绍1、2014年在WWDC(Worldwide Developer Conference)公布了swift,被定义为”fast,m...原创 2018-04-08 13:50:30 · 252 阅读 · 0 评论 -
iOS开发入门-开发工具
如果你想创建自己的APP,非常好,那我们就开始吧~工具苹果系统是一个比较封闭的系统,相对于其他的系统来说,所以你想发开APP for iPad iPhone,就得用Mac相关的设备,对其他设备是相当的不友好的。所以说嘛~1.买一台苹果电脑 这里有你想要的一切,上面所有提到的设备都能开发APP,但是当然越贵越好了,贵还是有贵的道理的,额外的说句,推荐的配置当然是带固态硬盘的...原创 2018-04-08 11:37:49 · 1259 阅读 · 0 评论 -
致广大用户关于 iPhone 电池及性能的说明
致广大用户关于 iPhone 电池及性能的说明2017 年 12 月 28 日 致广大用户关于 iPhone 电池及性能的说明 最近,对我们在使用较早期电池 iPhone 性能表现上的处理方式,以及对这一处理方式的沟通说明,我们一直都在听取用户的意见和反馈。有些用户因此对 Apple 感到失望,在这里,我们致以诚挚的歉意。关于这个问题存在着许多的误解,所以我们想向大家澄清其中原委,并向大家说明我转载 2017-12-29 13:15:34 · 2312 阅读 · 0 评论 -
iPhone 电池和性能
iPhone 电池和性能 了解 iPhone 性能及其与电池的关系 iPhone 电池和性能我们希望 iPhone 能带来简单易用的体验。要实现这一目标,需要进行大量的工程设计制造和投入许多先进技术。其中一个重要的技术领域就是电池和性能。电池是一项复杂的技术,很多变量都会影响电池性能以及相关的 iPhone 性能。所有可充电电池都是消耗品,寿命有限,这意味着这些电池的容量和性能最终都会下降,因而转载 2017-12-29 13:14:13 · 607 阅读 · 0 评论 -
iOS设计模式-对象池模式
对象池模式(object pool pattern)是单例的一个变体,可以为组件提供多个完全相同的对象,而非单个对象。当你需要管理一组表示可互相替代的资源对象,切要求同一时间只允许一个组件使用对象时,就可以使用这种模式。 相关信息1、什么是对象池模式: 对象池模式一般用来管理一组可以重用的对象,以供调用组件使用,组件可以从对象中获取对象,用他来完成任务,完成之后将对象还...原创 2018-04-17 21:17:02 · 520 阅读 · 0 评论 -
如何通过TestFlight安装测试APP
将自己的APPLE邮箱或者任意一个邮箱进入APP Store搜索下载testFlight APP管理员会给你提供的邮箱发送一封邮件,有时候可能被当做垃圾邮件 点击View in TestFlight出现如下图的界面 拷贝QPCTTXQ 这个,然后打开TestFlight,如下图: 点击Redeem,弹出输入框,将刚才拷贝的QPCTTXQ 输入,然后原创 2018-01-11 14:37:43 · 22479 阅读 · 0 评论 -
上传APP Store被拒 --待续
上传APP Store被拒Guideline 5.2.1 - Legal - Intellectual PropertyThe seller and company names associated with your app do not reflect the name “***” in the app or its metadata, as required by Guideline 5.2.原创 2017-12-13 18:25:41 · 448 阅读 · 0 评论 -
iOS百度地图集成时反geo 检索发送失败和geo 检索发送失败
出现这个问题主要还是健权失败,鉴权的代码如下:// 要使用百度地图,请先启动BaiduMapManager _mapManager = [[BMKMapManager alloc]init]; /** *百度地图SDK所有接口均支持百度坐标(BD09)和国测局坐标(GCJ02),用此方法设置您使用的坐标类型. *默认是BD09(BMK_COORDTYPE_BD09原创 2017-09-26 09:31:59 · 2087 阅读 · 0 评论 -
Autoclosures
autoclosure是一个自动创建的闭包,用于封装作为参数传递给函数的表达式。它不需要任何参数,当它被调用时,它会返回包装在其中的表达式的值。这种语法上的便利可以让你通过写一个普通的表达式而不是显式的闭包来省略函数参数的大括号。 通常调用采用自动屏蔽的函数,但实现这种功能并不常见。例如,assert(condition:message:file:line :)函数为其条件和消息参数采用aut...原创 2018-05-31 14:13:28 · 383 阅读 · 0 评论 -
COCOAPODS最新用法
我们经常使用COCOAPODS,但是最近发现自己在用这个东西的时候,把之前的Podfile copy过来不能用了,然后就找为啥,发现还是这个文件的格式问题。我到官网找到了相应的官方写法,仅供参考。安装cocoapods# Xcode 7 + 8$ sudo gem install cocoapods写Podfileplatform :ios, '8.0'use_frameworks!target原创 2017-04-04 10:14:44 · 284 阅读 · 0 评论 -
第三讲 Your First App
Your First App 上图是我们需要实现的效果.Open Xcode 选择『Create a new Xcode project』Choose a Project TemplateOptions for your Hello world- **Product Name: 产品名称**- **Team: 开发者群组**- **Org...原创 2018-04-18 10:06:12 · 185 阅读 · 0 评论 -
自动引用计数 ARC
参考苹果官方文档Automatic Reference CountingSwift使用自动引用计数(ARC)来跟踪和管理应用程序的内存使用情况。在大多数情况下,这意味着内存管理在Swift中“正常工作”,并且您不需要自己考虑内存管理。当这些实例不再需要时,ARC会自动释放类实例使用的内存。但是,在少数情况下,ARC需要有关代码各部分之间关系的更多信息才能为您管理内存。本章将介绍这些情况,并...原创 2018-04-24 13:41:29 · 291 阅读 · 0 评论 -
设置了LaunchImage为什么没有显示
为什么我设置了LaunchImage然后load程序的时候依然还是不能加载启动页那么就按照下面的方法试试喽:1、如图所示操作 2、按照上面的方式操作完之后再将程序从模拟器或者真机删除,重新下载安装程序即可以出现启动页原创 2016-01-29 10:49:45 · 522 阅读 · 0 评论 -
Pod私有库引用出现Overriding non-open instance method outside of its defining module
在开发的过程中遇到了这问题,一下记录整个开发过程:原创 2019-10-10 14:01:17 · 1966 阅读 · 0 评论 -
Property Observers
Property Observers属性观察并回应属性值的变化。每次设置属性值时都会调用属性观察者,即使新值与属性的当前值相同。 您可以将属性观察器添加到您定义的任何存储属性,但惰性存储属性除外。您还可以通过覆盖子类中的属性,将属性观察器添加到任何继承的属性(无论是存储还是计算)。您不需要为非重写的计算属性定义属性观察器,因为您可以在计算属性的setter中观察并响应其值的更改。 Overri...原创 2019-04-20 17:46:20 · 310 阅读 · 0 评论 -
Swift中的Classes and Structures
类和结构是通用的,灵活的构造,它们成为程序代码的构建块。您可以使用与常量,变量和函数完全相同的语法来定义属性和方法,从而为您的类和结构添加功能。 与其他编程语言不同,Swift不要求您为自定义类和结构创建单独的接口和实现文件。在Swift中,您可以在单个文件中定义一个类或结构,并且该类或结构的外部接口会自动提供给其他代码使用。 传统上将类的实例称为对象。然而,Swift类和结构在功能上...原创 2018-05-31 16:21:43 · 232 阅读 · 0 评论 -
Escaping Closures
当闭包被作为参数传递给函数时,闭包被称为转义函数,但在函数返回后被调用。当你声明一个将闭包作为其参数的函数时,你可以在参数的类型之前写入@escaping来表示允许闭包被转义。 闭包可以逃脱的一种方式是存储在函数外部定义的变量中。作为例子,许多启动异步操作的函数都将闭包参数作为完成处理程序。该函数在开始操作后返回,但在操作完成之前不会调用闭包 - 闭包需要转义,稍后调用。例如:var ...原创 2018-05-31 13:36:34 · 375 阅读 · 0 评论 -
Swift文件的访问级别(Access Levels)
Swift文件的访问级别(Access Levels) 参考文档:Access ControlSwift为代码中的实体提供了五种不同的访问级别。这些访问级别与实体定义的源文件相关,也与源文件所属的模块有关。Open access and public access Open access and public access enable entities to be use...原创 2018-05-30 18:07:33 · 952 阅读 · 0 评论 -
升级Xcode10之后重新pod install出现如下问题
1、pod install 2、使用Xcode10打开项目进行编译,出现如下问题:ld: library not found for -lstdc++.6.0.9clang: error: linker command failed with exit code 1 (use -v to see invocation)百思不得解啊!用了百度出来的各种方法依然解决不了,还在寻找问...原创 2018-06-06 15:04:43 · 3495 阅读 · 1 评论 -
每次pod install的时候是如何操作的
localhost:ZujianhuaDemo ibrotherliyanbing$ pod installAnalyzing dependenciesSetting up CocoaPods master repo $ /usr/bin/git clone https://github.com/CocoaPods/Specs.git master --progress Cloning...原创 2018-04-26 22:59:43 · 1396 阅读 · 0 评论 -
iOS collectionView添加头部底部view
定义一个collectionview/// 创建colloectionview private func createCollectionView() { let layout = UICollectionViewFlowLayout() layout.scrollDirection = UICollectionViewScrollDirection.v...原创 2018-04-20 17:18:53 · 1811 阅读 · 0 评论 -
App Store审核指南(App Store Review Guidelines)
官网地址: 苹果审核指南官方文档App Store最新审核指南-中文(2015年3月更新版)原创 2016-10-27 10:18:42 · 1151 阅读 · 0 评论 -
CABasicAnimation的基本使用方法(移动·旋转·放大·缩小)
博主:最近iOS开发中用到CoreAnimation的framework来做动画效果,虽然以前也用过,但一直没有系统学习过,今天看到一篇非常详细的博文(虽然是日语,但真的写的很好),在此翻译出来供大家学习。原帖地址:http://www.objectivec-iphone.com/animation/CoreAnimation/CABasicAnimation.html本文为博主翻译,若需转载,请注转载 2016-10-24 13:34:39 · 433 阅读 · 0 评论 -
iOS 合并多个数组
直接上代码了:NSMutableArray *arr = [NSMutableArray array]; for (NSArray *a in arrays) { for (int j = 0; j < a.count; j++) { [arr addObject:a[j]]; } }以上,其中arrays是一个数组中包含多个数原创 2016-10-21 16:27:48 · 11197 阅读 · 0 评论 -
个人开发的第一个APP-优贝童车
一年时间了,主要做的一个中兴的APP,至今尚未上线,可是这个很小的APP,只是一个壳子,里面主要还是用H5做的~ 优贝的APP Store下载地址原创 2016-03-18 20:30:30 · 478 阅读 · 0 评论