关闭

第一个开源库

AAMultiSelectController地址:https://github.com/aozhimin/AAMultiSelectControllerAAMultiSelectController provides a popup dialog which user can multi-select.it’s easy to use and integrate in your project.T...
阅读(252) 评论(0)

AutoLayout代码控制约束是否起作用

今天在做一个需求的时候需要在TableView动态控制约束是否起作用,NSConstraint这个类主要有三个方式实现: 1.通过active设置,但这个只在iOS8.0以上能用 2.7.0可以通过对这个约束所附加的'view来addConstraint和remove实现,这里有个小坑,从xib或sb拖出的IBoutlet的storeage必须设成strong,不然remove后就会变成nil...
阅读(213) 评论(0)

iOS到Android到底有多远

在iOS开发混了4年之后,又重拾荒废了4年的Android,感慨时间过得太快,有时间我会回顾下2010当年的iOS/Android平台的萌芽期历史; 从重拾摸索,再到上线两个App,四五个月时间。这段时间的学习和研究,颇多冲击和体会,所以就有了这篇文章。本文主要从iOS转Android开发角度,对比两个平台应用开发的异同。希望对想学习Android开发的iOS开发者,或者想兼Android、...
阅读(526) 评论(0)

iOS 开发者的 Android 第一课

随着移动软件工业的发展,一个移动产品只局限于 iOS 系统变得越来越不切实际。 Android 目前占有近 80% 的智能手机份额[^1],它能给一个产品带来的潜在用户量实在不能再被忽略了。 在本文中,我会在 iOS 的开发范围内介绍 Android 开发的核心内容。 Android 和 iOS 处理类似的问题集,但在大部分问题上,它们都有不同的解决方式。通过本文,我会使用一个配套项目(在 ...
阅读(181) 评论(0)

应用跳转之被苹果狠狠的坑了一把

原先的应用间跳转都是通过 - (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url NS_DEPRECATED_IOS(2_0, 9_0, "Please use application:openURL:options:") __TVOS_PROHIBITED; - (BOOL)...
阅读(774) 评论(1)

巧用 Class Extension 分离接口依赖

Class Extension 和 Category 是我们经常使用的 Objective-C 语法: // Class Extension @interface Sark () @end // Category @interface Sark (Gay) @end 还记得最开始学习 Objective-C 时,并没有支持 Class Extensi...
阅读(183) 评论(0)

launch once 与 dispatch once

昨天发了个 launch once 的 code snippet  陆续有朋友和我讨论,今天详细解释下。 launch once 这段代码实现了在一个 Engine 对象生命周期内只能调用一次 launch 方法: 而我们常用的 dispatch once 由于其使用了一个 static 变量作为 onceToken,所以会在 ...
阅读(265) 评论(0)

Objective-C Ivar Layout 探索

这次探索源于一个朋友问的问题,当我们定义一个类的实例变量的时候,可以指定其修饰符: @interface Sark : NSObject { __strong id _gayFriend; // 无修饰符的对象默认会加 __strong __weak id _girlFriend; __unsafe_unretained id _company; } @e...
阅读(119) 评论(0)

关于 weak 变量的一个奇怪问题

来自关注这个公众号的一个朋友(何哈哈...Newber)的留言提问,下面是简化的代码: 这是个很有难度的问题,希望大家一起讨论下为什么会这样,之后我会发一下我的理解。...
阅读(161) 评论(0)

2015 Objective-C 新特性

Overview 自 WWDC 2015 推出和开源 Swift 2.0 后,大家对 Swift 的热情又一次高涨起来,在羡慕创业公司的朋友们大谈 Swift 新特性的同时,也有很多像我一样工作上依然需要坚守着 Objective-C 语言的开发者们。今年的 WWDC 中介绍了几个 Objective-C 语言的新特性,还是在“与 Swift 协同工作”这种 Topic 里讲的,越发凸显这门...
阅读(163) 评论(0)

【Tip来3发】继续编译有Error的工程

当你把某个重要接口改了的时候,全工程将会有若干编译错误,但默认情况编译器遇到第一个错误之后就会停止Build,那么你就需要这个Tip:...
阅读(192) 评论(0)

【Tip来2发】快速定位方法调用者

一个非常实用的快捷键...
阅读(126) 评论(0)

【Tip来4发】快速在文件树视图中切换到当前文件

昨天出去玩了木有发,今天继续。之前也介绍过,一个必不可少的快捷键:...
阅读(126) 评论(0)

【Tip来7发】给@property设置断点

看图- - PS: 欢迎热心观众拨打屏幕下方的热线电话,推荐些Topic,要不我都不知道要发点啥了- -...
阅读(139) 评论(0)

【QA】在GCD中控制并发数

首先感谢下热心观众,回复了若干个问题,没办法一一解答(有的我也不知道额- -)请见谅。 今天回复下@陈作君同学的提问: “dispatch_concurrent_queue怎么像nsoperationqueue一样控制其中任务的并发数” 没理解错的话,应该指 NSOperationQueue 中的 maxConcurrentOperationCoun...
阅读(746) 评论(0)

【Tip来1发】去除Preferred Max Layout Width警告

去除Preferred Max Layout Width警告 当 IB 中的 UILabel 的行数不是1,且 Deploy Target 小于iOS8时,很可能会遇到下面的警告: 一个可行的解决办法是将 UILabel 这个属性设置成0...
阅读(150) 评论(0)

【Tip来5发】IB中设置多行文字

IB功能还是挺强大的,虽然有时候比较隐蔽:...
阅读(294) 评论(0)

Notification Once

前段时间整理项目中的AppDelegate,发现很多写在- application:didFinishLaunchingWithOptions:中的代码都只是为了在程序启动时获得一次调用机会,多为某些模块的初始化工作,如: - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOption...
阅读(155) 评论(0)

【搬运】实现一个有意思的TODO宏

实现一个能产生warning的TODO宏,用于在代码里做备忘,效果: 下面一步步来实现这个宏。 Let’s do it 手动让编译器报警(报错)可以用以下几个方法: #warning sunnyxx #error sunnyxx #pragma message "sunnyxx" #pragma GCC warning "sunnyxx" #pr...
阅读(210) 评论(0)

【面试题解答】如何在一个对象释放的时候收到通知

上回书说到,不能子类化,不能KVO,不能替换这个对象的类,如何在这个对象释放的时候收到通知呢? 用runtime的Associated Object机制可以做到。 我们知道,被objc_setAssociatedObject 方法关联的对象,生命周期是和主对象相同的,即,主对象dealloc时这个associated的对象随后执行dealloc,利用这点我们...
阅读(217) 评论(0)
79条 共4页1 2 3 4 下一页 尾页
    个人资料
    • 访问:27045次
    • 积分:432
    • 等级:
    • 排名:千里之外
    • 原创:5篇
    • 转载:74篇
    • 译文:0篇
    • 评论:1条
    文章分类
    文章存档
    最新评论