这个挺逗的, text from code - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
iOS 开发实用技术导航
NSHipster 中文版
http://nshipster.cn/
cocos2d 开源 2D 游戏引擎
http://www.cocos2d-iphone.org/
CocoaPods
http://cocoapods.org/
Google Analytics for Mobile 统计解决方案
http://code.google.com/mobile/analytics/
WWDC
https://developer.apple.com/wwdc/
Design Guides and Resources
https://developer.apple.com/design/
Transcripts of WWDC sessions
http://asciiwwdc.com
Cocoa with Love
http://cocoawithlove.com/
Cocoa Dev Central
http://cocoadevcentral.com/
NSHipster
http://nshipster.com/
Style Guides
Google Objective-C Style Guide
NYTimes Objective-C Style Guide
Useful Tools and Services
Charles Web Debugging Proxy
Smore
jox
V2EX    iDev

这个挺逗的, text from code

  •  
  •   jox 2014-11-26 22:49:05 +08:00 2691 次点击
    这是一个创建于 3974 天前的主题,其中的信息可能已经有所发展或是发生改变。
    http://www.textfromxcode.com/

    有些人大概看过了,我第一次看到,觉得很搞笑,对于刚接触iOS开发的我来说,总觉得xcode非常难用。。。。

    最让我蛋痛的是内置的文档系统目录的字体那叫一个小啊,眼睛都快看瞎了。。。。还有莫名其妙的风火轮。。。。升级xcode6之后的代码选择bug。。。。难用啊
    7 条回复    2014-11-27 00:11:38 +08:00
    q84629462
        1
    q84629462  
       2014-11-26 23:00:13 +08:00
    我是appcode和xcode混着用,用xcode管理storyboard和创建新class,appcode用来写代码
    11
        2
    11  
       2014-11-26 23:07:33 +08:00
    笑死了。。尤其是那个 `%ld` 和 `%d`
    jox
        3
    jox  
    OP
       2014-11-26 23:38:47 +08:00
    @11 这个我遇到过,浪费了我将近5分钟的时间

    NSInteger num = 10;
    NSLog(@"%ld", num - 10);

    然后有警告,说类型和格式不匹配,问我是不是要改成%lu?好吧,我改成:

    NSLog(@"%lu", num - 10);

    还是不行,说类型和格式不匹配,我就郁闷了,最后我发现我得改成这样:

    NSLog(@"%lu", (unsigned long)(num - 10));

    当时我就无语了。。。。xcode,你是在玩我呢吗?
    PrideChung
        4
    PrideChung  
       2014-11-26 23:44:24 +08:00
    @jox 你这个问题最好是用 @() 转成 NSNumber 来处理,NSNumber保证了兼容32和64位
    jox
        5
    jox  
    OP
       2014-11-27 00:02:17 +08:00
    @PrideChung 这个跟32位和64位有关系吗?NSInteger的类型是long,long的实现到底是32位还是64位的这个是跟平台有关的。

    我当时是想用数字构造字符串,只是想消灭警告而已,NSInteger是long,会出现这个警告似乎是因为整型非负数字常量的类型是unsigned long,而xcode似乎不能确定表达式num - 10的类型是哪个?似乎xcode对类型的判断非常的严格,如果不明确表达式的类型的话就会遇到这种警告。

    实际上这样做也挺好,像C就有很多implicit的类型转换,有的时候可能会造成一些难以察觉的bug,所以xcode大概就减少这样的类型转换了吧。不过并不是所有的情况都是如此,比如使用%d格式来匹配i / 2这样的表达式就不会报警告,其中i的类型是int。当初第一次遇到这个警告的时候着实浪费了我足足好几分钟的时间,其实num - 10的类型是啥我根本不关心,因为那个数字最大也没多少,使用NS开头的类型只是为了让代码保持一致性而已,xcode非得这么严格我也是没办法
    PrideChung
        6
    PrideChung  
       2014-11-27 00:05:22 +08:00
    @PrideChung 所以说你这种只是想打印数字的情况直接改成 %@ 然后用 NSNumber 就好了
    jox
        7
    jox  
    OP
       2014-11-27 00:11:38 +08:00
    @PrideChung 好吧,其实如果你不说,我都想不起来有NSNumber这个类型,我就当时看苹果的那个programming with objective c里提到过这个类型,实际写程序的时候我从来没用过,因为UIKit里很多类的跟数字有关的属性类型都是NSInteger或者NSUInteger,我也就跟着用了,对我来说我只需要一个变量来保存数字,NSInteger用着没啥问题,就用了,没想太多
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5210 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 09:31 PVG 17:31 LAX 02:31 JFK 05:31
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86