几周前在实现判断评价星星数量的时候遇到一个问题,从而引出接触到一个新的概念,我姑且称之为控件数组。就是在某些时候存在大量同类型控件关联大量输出口需要使用类似collection但又不能使用的时候的一种替换方案。使用方法:…
分类:object-c
从@property说起(一)开题篇
什么是 @property @property可以说是每一个iOS开发者最常用的一句代码,甚至没有之一。但是,在上古的Xcode 4.4时代之前,事情并不是这个样子的。当时的iOS开发者,每当需要一个属性的时候。总是需要…
开发问题集锦
1. init /initWithFrame方法的调用 系统会调用 2. 第三方库重复 问题表现 duplicate symbol _OBJC_METACLASS_$_JKSerializer in: /Users/to…
WKViewManager iOS 弹窗架构
前言 近来由于App中弹窗过多,再加上还有半透明的引导层,时常会出现多个弹窗重叠弹出,甚至会伴随引导层一起弹出,极大的影响了用户体验。 上述问题,其实很简单,只需要添加一个弹窗队列即可。 但是与此同时我们又添加了新的需求…
iOS开发中定义枚举的正确姿势(NS_ENUM VS enum)
iOS开发中枚举也是经常会用到的数据类型之一。最近在整理别人写的老项目的时候,发现枚举的定义使用了多种方式。 方式1 typedef enum { MJPropertyKeyTypeDictionary = 0, // …
神奇的 BlocksKit (一)
关注仓库,及时获得更新:iOS-Source-Code-AnalyzeFollow: Draveness · Github 高能预警:本篇文章非常长,因为 BlocksKit 的实现还是比较复杂和有意的。这篇文章不是为了…
SE-0005 更好的把Objective-C APIs 转换成 Swift 版本
译者:泊学 提交 review 前必读 做为下面三份文档的一部分,它们的内容是彼此关联的: SE-0023 API设计指南 SE-0006 在标准库中应用设计指南 SE-0005 更好的把Objective-C APIs…
Block原理分析详解
1 基本说明 Block一直是OC的一个重点、难点、黑科技。Block在日常项目中经常使用,他的实现方式和一般的oc代码不一样。同时也很容易出现使用不慎的情况。我们知道OC的本质是C语言+runtime。runtime中…
iOS多界面设计杂谈
判断程序首次启动 利用NSUserDefaults,还可以判断程序的首次启动,方法是在AppDelegate.m文件中找到: - (BOOL)application:(UIApplication *)applicatio…
浅谈 iOS 线程
通常主线程和其他线程的使用场景 主线程一般用于 绘制UI 响应用户操作等 其他线程用于 网络请求 解析网络返回等 Tips: 解压、打开 Zip 包,读写较大文件的操作也不宜放在主线程里。 一般异步网络请求中会有一个 c…
如解决NSFetchedResultsController 和 UICollectionView一起使用时产生的崩溃
NSFetchedResultsController是一个非常好用且强大的数据库绑定类,用来处理CoreData和UIView的数据绑定非常便捷。 例如官方例子中,实用NSFetchedResultsController…
OpenApplus小程序容器
概述 OpenApp+ 一个小程序容器,配置简单、功能完善、界面流畅、开箱即用!使用OpenApp+可以快速扩展你的APP,使其拥有与微信一样的功能扩展可能,让App的所有的功能都通过小程序来实现,动态更新,更快的响应用…