oc语言版本号汇总分析

编程语言及工具

105人已加入

描述

  OC语言是面向对象的,c语言是面向过程的,面向对象和面向过程只是解决问题的两种思考方式,面向过程关注的是解决问题涉及的步骤,面向对象关注的是设计能够实现解决问题所需功能的类。

  术语:OO面向对象、OOP面向对象编程

  iOS开发过程中,有时候为了更好的用户体验或者为了bug跟踪,可能会需要获取用户的应用信息、系统信息、设备信息。这些信息的获取可以根据不同的设备或者App、系统版本来提供不同的功能或更好的用户体验,或者让开发者能更好的分析用户的问题原因。

  1、获取设备名称

  OC代码

  NSString *deviceName = [[UIDevice currentDevice] name];

  Swift代码

  let deviceName = UIDevice.currentDevice().name

  2、获取系统版本号

  OC代码

  NSString *sysVersion = [[UIDevice currentDevice] systemVersion];

  Swift代码

  let sysVersion = UIDevice.currentDevice().systemVersion

  3、获取设备唯一标识符

  OC代码

  NSString *deviceUUID = [[[UIDevice currentDevice] identifierForVendor] UUIDString];

  Swift代码

  let deviceUUID = UIDevice.currentDevice().identifierForVendor?.UUIDString

  4、获取设备的型号

  OC代码

  NSString *deviceModel = [[UIDevice currentDevice] model];

  Swift代码

  let deviceModel = UIDevice.currentDevice().model

  5、获取App相关的信息

  OC代码

  NSDictionary *infoDic = [[NSBundle mainBundle] infoDictionary];

  // 获取App的版本号

  NSString *appVersion = [infoDic objectForKey:@“CFBundleShortVersionString”];

  // 获取App的build版本

  NSString *appBuildVersion = [infoDic objectForKey:@“CFBundleVersion”];

  // 获取App的名称

  NSString *appName = [infoDic objectForKey:@“CFBundleDisplayName”];

  Swift代码

  let infoDic = NSBundle.mainBundle().infoDictionary

  // 获取App的版本号

  let appVersion = infoDic?[“CFBundleShortVersionString”]

  // 获取App的build版本

  let appBuildVersion = infoDic?[“CFBundleVersion”]

  // 获取App的名称

  let appName = infoDic?[“CFBundleDisplayName”]

  类创建对象,每个对象在内存中都占据一定的存储空间,每个对象都有一份属于自己的单独的成员变量,所有的对象公用类的成员方法,方法在整个内存中只有一份,类本身在内存中占据一份存储空间,类的方法存储于此。

  每个对象内部都默认有一个isa指针指向这个对象所使用的类。

  [p eat];表示给p所指向的对象发送一条eat消息,调用对象的eat方法,此时对象会顺着内部的isa指针找到存储于类中的方法,执行。

  isa是对象中的隐藏指针,指向创建这个对象的类。

  OC对象与函数有着本质的区别:

  (1)方法的实现只能写在@implementation··@end中,对象方法的声明只能写在@interface···@end中间

  (2)对象方法都以-号开头,类方法都以+号开头

  (3)对象方法只能由对象来调用,类方法只能由类来调用,不能当做函数一样调用

  (4)函数属于整个文件,可以写在文件中的任何位置,包括@implementation··@end中,但写在@interface···@end会无法识别,函数的声明可以再main函数内部也可以在main函数外部。

  (5)对象方法归类\对象所有

  (6)函数调用不依赖与对象

  (7)函数内部不能直接通过成员变量名访问对象的成员变量

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分