扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
1.定义函数时,希望传入的参数不为nil,或者为nil时会有警告显示:
成都创新互联公司是一家专注于网站设计、成都做网站与策划设计,金塔网站建设哪家好?成都创新互联公司做网站,专注于网站建设十多年,网设计领域的专业建站公司;建站业务涵盖:金塔等地区。金塔做网站价格咨询:18982081108
如下:
- (instanceype)initWithFoo:(NSString *)foo bar:(NSString *)bar sark:(NSString *)sark
__atttribute__((nonnull(1, 2)));
p.s. index从1开始,不是0,且只对对象生效。
该技巧同样来自,sunnyxx大神的微信,逗比狗~
2.定义函数时,希望子类override该方法时候,必须调用super,否则编译器直接报错。
@interface OldSix:NSObject
- (void)fooWithNothing __attribute__((objc_requires_super));
该技巧同样来自,sunnyxx大神的微信,逗比狗~
wait~~~~~
/*检查子类在重写该方法时有没有调用自己(父类)的实现
*对于一些可以被继承的类,需要子类在重某一调用父类的实现以保证正确的行为,通过在头文件方法的声明末尾添加`NS_REQUIRES_SUPER`
*可以让编译器检查子类方法有调用父类的实现。具体使用方法如下:
* - (void)viewWillAppear:(BOOL)animated NS_REQUIRES_SUPER;
*/
但是根据我的实际测试,发现sunnyxx大神仙的方法,没有任何显示效果,不知道是不是我打开的方式不对还是怎么,
总之,NS_REQUIRES_SUPER的方法亲测可用。
3.误删系统sdk头文件的解决办法
在终端中输入:
$ cd ~/Library/Developer/Xcode/DerivedData/ModuleCache/
$ rm -rf *
4.ARC下打印retainCount
extern uintptr_t _objc_rootRetainCount(id obj);
id test = [NSString new];
NSLog(@"retain count %lu",_objc_rootRetainCount(test));
5.工程报错下,仍然可以编译成功
6.定位方法的调用者
打开12306手机端APP,升级到最新版本。(打开APP store搜索12306看右下图标是更新还是打开。打开即为最新版本。)因为12306这个选座服务只有最新版本才提供。
打开12306手机端APP,进入买票页面。选择乘车出发地与目的地和出行日期。因为目前仅在海南环岛高铁试行。我们选择了海口东到三亚。目前这条线路已开通选座服务。
点击搜索,进入车次列表。我们选择需要出行的车次。这里我们选择了早上七点五十五从海口东出发列车(列车车次可按需选择,我这里只是做个示范)。高铁出发前15分钟就可以检票进站了,大家可以把握好时间。
我们选择好车次后点进去。添加好乘车人,目前一次购票最多可以选择5个人。我们按操作指示选好图形验证码。这时候我们可以看到验证码上方有个选座服务。这就是本次操作的关键了。
我们点击选座服务,界面下方会弹出座位列表,这时候我们可按需要选择座位。一般靠窗的座位会比较走俏,这里我们也选择了靠窗座位。靠走廊的座位行动比较方便。
选好座位后,,提交订单,立即支付(30分钟不支付视为放弃)。支付完成后,本次选座购票操作完成。(目前选座服务只在12306手机端可操作。)如果这次小范围的测试反响很好的话我估计以后的线路都会开通。
ios 上的开发者选项完全是为软件开发者服务的。
(1)Instruments可以理解为是一个日志记录工具,可以记录下电量和网络的使用情况,利用Xcode可以导出这些日志。
(2)Network Link Conditioner是模拟网络,可以让用户模拟不同的网络连接和带宽,可供Mac和iOS开发者测试自己的程序在不同网络环境下的表现。
(3)还有其他选项像是IDA广告测试、广告刷新率测试、媒体服务测试、欧盟音量限制测试等内容。
ios上的开发者选项,这个功能从iOS系统刚开始时就已经存在了。想要打开这个功能,我们需要满足一定的条件,首先你需要将iPhone和一台Mac电脑相连接,然后在Mac上打开Xcode开发工具,此时你iPhone的设置里就会出现“开发者”这个选项了。
Jack总结了转型的6大要点,他希望能够帮助处在转型和过渡期的Web设计师。Jack Groetzinger1. 用视网膜屏Mac做设计Jack表示,Photoshop的整体排版更适合在视网膜屏上显示,当你用视网膜屏Mac做设计时,你会感到自己比平时更聪明灵活,能力和水平也比平时更高。2. 要不断地在手机上查看结果同样的一个按钮,在Mac上看起来大小正合适,但在iPhone上可能就显得有点小了。Jack现在已形成一种习惯——时不时地在iPhone上查看设计成果。3. 单独优化,避免图片简单缩放Jack团队在进行版本移植时,对其中一张界面图只做了缩放处理,结果出现了差异:右上角“information”按钮比较模糊,3个灰色选项按钮不够清晰,最下方水平线太粗。经过对新版本界面的单独优化,这些问题才得以解决。当然,Jack表示,这种做法显得有些吹毛求疵,但如果你是个完美主义者,单独优化还是比较靠谱的。左图:简单缩放的结果;右图:单独优化的结果4. 看似简单的设计,实际上很复杂下图显示的单词“every”进行了字体加粗,但这不是简单的strong/strong标签组就能解决的问题。为了让这个“every”显示得更好看,Jack参考了许多开源字库,并使用了NSAttributedString的函数。看似简单的设计,实际上很复杂,更需要大量的投入和付出。SeatGeek首页界面截图5. 移动开发迭代速度更快,频率更高相对来说,Web前端更容易,HTML/CSS不需要代码基础就能上手。但Obj-C显然需要扎实的编程功底,上手速度也更慢。在Web开发过程中,先做后端程序,再设计UI界面,完全没问题;或者先设计UI,再写后端代码,也没问题。但在iOS开发过程中,修改某个元素之后,许多其他元素都需要修改,所以没办法让UI和后端完全分离,最好的办法就是同时进行,快速迭代。6. iOS产品发布时间更漫长众所周知,产品发布送审是每个iOS产品人员的必修课。对于从没接触过此项工作的Web设计师来说,你最好单独腾出一下午的时间,一个人安静地研究如何发布产品,否则你会感到十分吃力。知识点:SeatGeek是一家创建于2009年的在线票务搜索比价网站。过去其主要涉及体育赛事的票务信息,近年来则致力于在演唱会票务领域有所突破。SeatGeek和传统票务网站相比有许多创新之处,比如3D场馆选座、交易评分、广告赞助、演出日历等。该网站今年九月份票务总收入达到250万美元。(文章编译:杨依帆 责任编辑:张宁)文章来源:Jackg本文为CSDN编译整理,未经许可或授权不得转载。
iOS程序开发用MacBook Air的机器最好还是选择高配置,能够比较流畅的运行。MacBook Air这款电脑本身机身轻薄,携带方便,可以随时随地进行程序开发设计。不过还是建议真正做程序开发,选择更高端一点的MacBook Pro或者iMac。
MacBook air配置适中,机身轻薄,便于携带,能完成正常上网、接收邮件、办公、看电影等用途,适合商务出差人士或者女士携带轻便电脑使用。
MacBook pro是苹果笔记本系列中更专业的一款,相对于其他品牌的笔记本电脑,功能强大,外观美观,轻便携带,待机时间长,搭载苹果OSX系统,处理图片、编程、剪辑等功能得心应手,硬件上设计也十分人性化,键盘、鼠标都能让使用者感受到方便。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流