随笔分类 - iOS
iOS study blog and problems solutions occored which my iOS develop work experience.
摘要:那我偏偏想要在类别中添加实例变量该怎么办呢?这时候就要用到runtime了,不要忘记了Objective-C是动态语言。一种常见的办法是通过runtime.h中objc_getAssociatedObject / objc_setAssociatedObject来访问和生成关联对象。这两个方法可以让
阅读全文
摘要:因为项目要适配iPhone8, iPhoneX 等。需要升级Xcode需要升级到9.3。但是 MAC系统是10.12的,需要升级到10.13。 系统升级完之后升级Xcode。之后Xcode 就各种卡。 卡出翔,光标移动很卡,点击选中很卡,不能rename 文件,自动提示错乱,不完整。 实际刚升级完系
阅读全文
摘要:真机测试:能够build成功,但是 报错App installation failed A valid provisioning profile for this executable was not found。 中文意思:APP 安装失败, 这个可执行程序没有有效的秒速文件。我明明选好了 描述文
阅读全文
摘要:关于 typeof()和 __typeof() 和 __typeof__() ,Stack Overflow 有一段解释,大概意思是, __typeof() 、__typeof__() 是C语言的编译器特定扩展,因为标准C语言是不含这样的运算符的。标准C要求编译器用双下划线前缀扩展语言。(这也是为什
阅读全文
摘要:SDWebImage 中有一段源码: 我们用的比较多的 解决循环引用的问题, 在block中 用到对象内部的属性、实例变量的时候要用weakSelf 访问,但是为什么block 内部又用到strongSelf 呢? 大部分情况下,只在block中使用weakSelf 是没有问题的,通常情况下我们只在
阅读全文
摘要:1、添加完第三方库,模拟器运行没事,打iOS通用设备包的时候报一个错。 ld: '/Users/jiangwei.wang/Documents/Project/APP NAME/SeosMobileKeysSDK.framework/SeosMobileKeysSDK' does not conta
阅读全文
摘要:iOS 打包不成功的原因: 1、打包时在下图 code signing没有选择发布证书 2、没有配置好pp文件 3、targets-> general 和 setting设置的签名方式不一样,要手动都手动,要自动都自动。我个人倾向于手动,Archieve之后手动上选择发布证书和pp文件签名。 iOS
阅读全文
摘要:1、- (NSArray *)visibleCells; UITableview 的方法,这个最直接,返回一个UITableviewcell的数组。 对于自定义的cell,之后的处理可能会稍微复杂。 2、-(NSArray*)indexPathsForVisibleRows; UITableview
阅读全文
摘要:@interface - (BOOL)isDisplayedInScreen; @end @implementation UIView(UIScreenDisplaying) //判断View是否显示在屏幕上 -(BOOL)isDisplayedInScreen{ if(self == nil){
阅读全文
摘要:dispatch_apply的用法 并行模拟for循环,将指定的代码循环10次,一般会把这些代码附加到一个queue上,然后在 dispatch_apply里并行 dispatch_queue_t queue = dispatch_get_globel_queue(DISPATCH_QUEUE_PR
阅读全文
摘要:1、在一个类的头文件中尽量少引用其他头文件 如果Person.h 引入了EmployeePerson.h,而后续又有其他类如Human.h又引入了Person.h, 那么EmployeePerson.h也会一并被引入到Human.h.如此往复,引入的头文件会越来越多,也会引入一些根本不需要的头文件,
阅读全文
摘要:项目进入测试阶段,马上要上线了,同事拿了自己的iOS8系统5s跑真机,无缘无故报错,之前跑她的手机完全没有问题的。Xcode 8.x中最低部署版本是iOS8.0,按理说完全能够跑真机的。 但是报了一个很让人头痛的错误:dyld`dyld_fatal_error: -> 0x120085088 <+0
阅读全文
摘要:简单思路: 进入APP,首先加载 splashVC,加载完成之后,在viewDidAppear里跳转到loginVC,(这里一定要在viewDidLoad方法里新建loginVC跳转). 登陆成功之后,进入tabBarController,tabView里有四个模块,每个模块由navControll
阅读全文
摘要:最近有空,又温习了一下Node ,配合Express 4.x可以很快的搭建一个简单的后台。 Node比较适合频繁I/O,大量异步。至于更加复杂的后台逻辑还是用Java,个中滋味自己体验。 Express是一个前端框架,我只需要它能够连接MySQL数据库,能够在前端发起请求,后端完成对数据库的增删改查
阅读全文
摘要:1、git的下载安装 直接到官网看教程 git安装,安装好了之后测试一下: 在terminal里输入命令: git --version MAC如果安装了Xcode ,是自带git的。命令后显示: git version 2.11.0 (Apple Git-81)类似信息。 2、git配置 以连接到g
阅读全文
摘要:1、分类的定义 category是Objective-C 2.0之后添加的语言特性,中文也有人称之为分类、类别。Category的主要作用是为已经存在的类添加方法。这个大家可能用过很多,如自己给UICoclor添加一个把16进制数转化为rgb颜色的方法。 可以把分类的实现分开放在几个不同的文件里面。
阅读全文
摘要:0、准备 1】$299/year的企业级开发账号。 2】制作分发证书和描述文件,并下载安装到本机。 3】Xcode编译通过,真机测试通过的源码。 1、打包前配置 1】Xcode 打开项目,commond + , 打开偏好设置,登录开发者账号。 2】product -> scheam -> editS
阅读全文
摘要:执行 $pod install 的时候,报一下错误: Analyzing dependencies [!] The dependency `MJExtension` is not used in any concrete target. 因为我的Podfile格式有语法错误: platform :i
阅读全文
摘要:Dispatch Source是GCD中的一个基本类型,从字面意思可称为调度源,它的作用是当有一些特定的较底层的系统事件发生时,调度源会捕捉到这些事件,然后可以做其他的逻辑处理,调度源有多种类型,分别监听对应类型的系统事件。我们来看看它都有哪些类型: Timer Dispatch Source:定时
阅读全文
摘要:属性: 属性@property和属性attribute不同,@property在OC里有自己的一套专对实例变量的处理机制。attribute我们可以特指属性所具有或遵循的特质。 使用属性,编译器就会自动编写访问这些属性所需的方法,此过程叫做“自动合成”(autosynthesis).自动合成的过程是
阅读全文