.net 码农转战 iOS - 初探

发表于:2014-8-05 09:46

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:SugarLSG    来源:51Testing软件测试网采编

  好久没写博客了,之前还打算把毕业设计中涉及到的两个算法拿出来说说(脸型分析 + 声音分析),博文都写了一半了,后来实在太忙了,那篇随笔也就沉在草稿列表中没动过。
  我原先是专职 .net 开发的,在公司负责的项目是内部自用的销售管理系统,由于不需要出去"抛头露脸",所以公司干脆什么也没配置(指产品、设计、前端等等,开发设备还是有的),于是所有工作全包了。原本对自身的计划是,后续会慢慢转产品方面的。
  后来,也算是一个契机,公司所有移动端的人基本走光了(iOS 全走了,Android 的好像只剩 2 个!!公司内部的事,这里就不多说了),于是上头经理就打算让我们转到移动端开发。.net 和 java 一直都是"死对头"(自己的理解,求别喷),所以我不会选 Android,WP 市场还不够,转过去对自己竞争力的提升不大,于是乎选择了 iOS 开发,于是乎便有了这篇《.net 码农转战 iOS - 初探》。。。
  大学时期有一点 C 的基础,但是对 OC 完全不知,这次属于从 0 开始(不选择 swift 开始,其实是怕它还不够成熟。语言这东西,其实说到底是相通的,理解了基础的东西,还怕以后学不会其他的么!)。
  我是属于自学的,看视频、查资料一步步慢慢走。
  学习真的需要动手敲键盘,单单只是看一下是记不住理解不了的,至少我还没到那个看看就会的地步。。。
  · 我从 xcode5 开始,这时候已经少了很多内存管理的代码了(基本不用写 release 了),但是不需要你写,并不代表不需要你了解。所以内存管理需要详看。
  · 命名空间,OC 里是没有这个概念的。区分两个不同的类,仅仅是依靠类名。所以一般都会在真正类名前,加一个前缀用来区分,例如 NSString(NS 开头的代表为 MAC OS X 的核心,即 NeXTSTEP 的缩写)、CGPoint。。。许多程序员都会使用自己名字的缩写做类的前缀。
  · OC 大量使用指针,而且需显性表示(NSString *str; str 是一个指针变量,前面需加一个 "*" 显性体现,表示它是一个指向 "字符串" 的变量)。.net 中也有这个概念,只是不需要显性表明("*"),参考 .net 中,类、string 的声明。
  · @"",OC 中字符串的写法,前面必须加一个 "@" 表示是 NSString 类型;
  · NSLog() 方法,即 .net 中 Console.WriteLine 方法,支持字符串的 Format,例如 NSLog(@"%@, %i,  %f", @"1", 1, 1.0);(@"%@" 功能很强大,类似于 .net 中 ToString() 方法)。
  · 类的声明,创建一个普通的类,包含一个 .h 文件和一个 .m 文件(例如 SLTest.h & SLTest.m),是成对出现的,.h 文件为头文件,一般用来做类的声明,类似 .net 里的抽象类;.m 文件为实现文件,用来实现对应的"抽象类"。
/**
SLTest.h
**/
//使用import引入头文件
//Foundation为基础框架
//import表示该头文件只被包含一次,无论该命令在整个程序中出现多少次
#import<Foundation/Foundation.h>
//用interface标明是类的声明
//该类继承自NSObject,类似.net里的基类object
@interfaceSLTest:NSObject
{
//声明成员变量
}
//声明公有方法
@end
/**
SLTest.m
**/
//使用import引入头文件
#import"SLTest.h"
//implementation标明是类的实现
@implementationSLTest
//定义、实现私有方法
//实现公有方法
@end
21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号