扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
Web开发包含的内容有:
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名与空间、虚拟空间、营销软件、网站建设、五通桥网站维护、网站推广。
一种后端语言:PHP、Ruby、Python、Java、C#等
各种前端语言:JS、CSS、HTML
框架:ThinkPHP、ROR、Web.py、SSH
一种数据库:MySQL等
服务器:Apache等
操作系统:Linux、windowsserver等
其他:HTTP常识、域名常识等
工具:
第一是多人协作的问题,你可以用svn或者git,git是比较流行的,但是大多数的公司还在用svn;
第二,iOS的数据持久化有很多方案,最高效的就是sqlite,在mac上有很多sqlite的可视化管理工具,我用的是sqlitemanager。
第三,关于查看模拟器或者真机的沙盒内容,模拟器可以使用SimPholders,真机可以用ifunbox。
第四,屏幕取色工具,sip。
第五,另外xcode也可以安装很多辅助工具,例如,格式化xcode代码的ClangFormat,第三方库管理工具CocoaPods,压力测试工具uiautomonkey。
如果 xcode 中配置文件安装比较多,有些用不到了,可以到下面路径进行删除.
~/Library/MobileDevice/Provisioning Profiles
1 直接剪切
通过打印 tabBar 的子 view, 我们发现黑线的 y 值是-0.5;
这种方法虽然直接,对于去除 navi 的黑线也是有效的.但是本人不推荐这么去做.如果你的应用里没有突出的当然是可以的.
2 删除黑线
和删除 navi 的差不多,不过不用进行二次遍历.
当然这种删除方式,适合自定义的 tabBar, 如果是使用tabbarController 的属性的话,就不适用了.因为在tabbarController里我们拿不到 tabBar 的 subViews. 通过打印,会发现是空数组.这时我们可以使用KVC 使用自定义的 tabBar 去替换系统属性.
后台返回的经常会见到(null), 那么null是什么鬼, 改怎么处理.使用.通过测试,我们可以看出来下面的结果.
由上面得出以下结论.
1.nil, 表示的是空指针,指向的对象是空,地址是0x0, 打印返回的结果是(null).
2.[NSNull null],表示一个对象是空值,是有内存地址的.打印结果是null.
3.对于字符串来讲一个空字符串和字符串是空是两种概念.如 str 和str2,两种写法. 如果有时候不确定返回的字符串是@""还是 nil, 最好使用 [str isEqualToString:@""] || str.length == 0 这种判断方式. str 只使用** [str isEqualToString:@""] ** 是无效的.
在某个功能中,后台返回的是字符串,但是要显示在不同的label 中,才注意到了这个方法.
由于现在的请求是 HTTP,运行时报以下信息内容
App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app's Info.plist file.
这时候需要在info.plist中添加一个字段.
通过打印webView 的 subViews 发现, webView 的子 View 中有个 _UIWebViewScrollView 的成员变量, 所以进行猜测.
注意到了 webView 有一个scrollView 的属性,那么更简单的做法是:
只需要给 tableView 的 tableFooterView 添加一个空的 View 即可
有一个属性 background ,在习惯性找backgroundImage 的时候,有时忽略了这个属性.
有时候需要替换字符串里的字符.
在实际应用中需要获取设备的信息.系统给了一个类UIDevice, 可以用来获取一些基本信息.
如果要获取具体的设备型号,比如要给专门的机型推送一些服务的话.那个就得拿到设备的类型.
通过拿到产品类型我们可以进而判断出机型. 下面是网上总结出来的
由于创建项目时,项目名称包含中文会,Bundle Identifier 中会直接使用-代替中文.所以项目名称一般会使用英文,实在不行要使用拼音.这样的话,安装到手机中的名称要显示自己想要的名称的话.
需要在** info.plist ** 中添加一项.** Bundle display name **.
对应的 Value 就是安装app 后,显示的名称.
由于现在是Retina 屏幕,使用 CATextLayer时,设置完字体后显示会模糊.
下面看一下映射关系.
非Retina:1 Point = 1 x 1 Pixel
Retina:1 Point = 2 x 2 Pixel
由于 Retina 屏一个 Point 映射4个(2 * 2) Pixel,所以 scale为2.
所以这时牵扯到一个属性:contentsScale
有两种方案:
方案一 : 使用带属性的字符串,这种方法简单明了.
方案二 : 设置navigationItem.titleView. 给titleView赋值一个 label, 这样子的话修改起来都是常规做法.
iOS开发包含的内容有:语言:objective-c,swift,设计模式:mvc,数据库:sqlite coredata(一套api),操作系统:mac库:太多了,ASI,AFN,FMDB这种大多数都会用到 github一搜一大把,很多不用自己写,多人协作:svn,git,经常要用github git是必须会的,其他通用知识:http,socket等等,至于工具,一上来整这么多没意义,你得会做点东西才用得上工具是不是。有需求就会去分析去找解决方案。比如你发现xcode的文件结构是虚拟的,建了文件夹磁盘上没有,很不好管理,那你就会去找解决方法,然后发现synx就可以解决这个问题。工具是这样搜索,用起来的。iOS开发者有价值的工具集 前人也是总结了不少。然后一般写iOS的UI有三种方式。xib,Storyboard以及代码创建。我觉得代码是效率最高也最厉害的;关于iPad和iPhone如果要适配的话是不大好的,最好设计两种UI。不同意,代码确实是最厉害的,但不是效率最高的,对个人而言,autolayout sizeclass绝对是storyboard更有效率,点两下的事情代码几十行(当然基本都是自动补全,我还是嫌多),适配问题有了sizeclass也只需要一套UI了。但为什么说个人而言,因为企业一般因为团队协作问题不喜欢用storyboard,容易发生冲突,所以代码,IB都得会,什么适合用什么。
自己去年12月的时候说要更新一个详细的答案,结果就被我自己烂尾忘记了,最初写这份答案的时候自己还是在摸索阶段,推荐了下面这些材料:
斯坦福大学的CS193p公开课:最新版是2013年winter。课程不仅包括iOS入门基础知识,而且还会布置由该教授亲自设计、涵盖整个课程的作业。
苹果官方文档:每一份GUIDE都是一本迷你的教材,写得很精致,而且每一份guide都会延伸到其他知识。可以从这篇开始:马上着手开发 iOS 应用程序。
Ray Wenderlich:很多step by step的教程,适合掌握一定知识之后跟着教程做着玩。
上面这三分资料,确实就是我刚开始学习iOS开发的时候用得最多的资料,在着手开始iOS Code之前,需要学习相关Objective-C的知识。
对我帮助最大的可以说是CS193p这个课程(免费的哦),我跟着这个课程一行一行代码完成布置的作业,课程完成之后我就能够自己写一个简单的app出来,并且我也知道该在哪里问问题、怎样找答案(很重要)。
当我了解整个app的制作流程之后,我就给自己定计划,1个月之内必须开发出一个app,从原型设计、界面设计、到CODE。
最终我做了几个实验性的app,虽然没有在app store上架,但是能够在自己的ipad、iphone上运行展示,我就拿着这几个app去面试,很幸运地找到现在的工作。
工作之后一直在使用的材料:
苹果官方文档,必须的参考书;
StackOverFlow,一有问题就问他;
Github,搜索关键词iOS或者objective-c,会发现很多高手已经把大部分基础性功能实现并且贡献出来了;
另外teamtreehouse提供收费的在线教程,应该比较容易入手。
所以我认为,其实用什么材料虽然也很重要,但是市面上优质的材料呢,不外乎那么几份,最重要的是自己有一个idea要落实下来把它完成、写成一个app,这个过程当中自己自然就会去找答案、找材料、解决答案啦。
希望能帮助到跟我一样初学入门的朋友。
转载
github 是集合了很多开源的框架,相当于一个代码托管网站,ios开发国内就那么几个cocoachina啊,csdn博客,博客园,还有开源代码的是appcodes
前几日发现另外一个不错的论坛,GDchina论坛,里面提供很多初级开发者的教程。 另外你需要资讯方面的,我说的是游戏开发商方面的,有GDchina,dapps它们也会提供部分教程。
百度文库里边有视频教程,当然还需要一台苹果电脑,还需要安装xcode开发工具
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流