再探Objective-C.8

Objective-C 入门篇 前言 Objective-C(下面简称OC)是由C语言扩展出来的,其火星文写法对于之前从事Java开发的同学颇感蛋疼。本文侧重介绍常用的语法,通过对比Java并结合本人入门的过程和经验,帮助有需求的同学快速掌握OC基本编程,为IOS的入门奠定语言基础。首先是写第一行代码,恭喜正式进入OC学习阶段。 int main(int argc, char *argv[]) { @autoreleas... 阅读详情

•          本章是-Foundation框架里的其它常用类

•                        【**】集合类【容器类】

•                                      字典【*】

•                                                     【**】概念:字典是一个无序的集合,它使通过键值对的方式来存储数据的

•                                                     【**】特点

•                                                                   一个 key(键) 对应 一个value(值)

•                                                                    做key的元素必须遵守NSCopying

•                                                                   我们一般使用NSString作为key

•                                                     【*】NSDictionary

•                                                                   【**】概念:不可变字典,字典创建后里面的元素不可改变

•                                                                   【**】创建

•                                                                                 通过简介构造方法[【少用】

•                                                                                                 NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:@1,@"a",@2,@"b",@3,@"c",nil];

•                                                                                 通过初始化方法【少用】

•                                                                                                [[NSDictionary alloc]initWithObjects:values forKeys:keys];

•                                                                                 快捷的创建方法[字面量]【常用】

•                                                                                                NSDictionary *dict = @{@"a":@1,@"b":@2,@"c":@3};

•                                                                    【**】获取字典的长度

•                                                                   字典中有多个键值对

•                                                                                 dict.count

•                                                                                 [dict count]

•                                                                   【**】获取某个key对应的元素

•                                                                                 [dictobjectForKey:@"a"];

•                                                                                  dict[@"a"];

•                                                                   【*】遍历

•                                                                                  【*】先取出所有的key 或所有的值

•                                                                                 然后通过遍历数组的方式来遍历

•                                                                                                [dict allKeys]

•                                                                                                [dict allValues]

•                                                                                 【*】通过枚举器的方式

•                                                                                                 NSEnumerator * enumer  = [dict keyEnumerator];

•                                                                                                 NSString *key;

•                                                                                                 while (key = [enumer nextObject]) {

•                                                                                                            NSLog(@"key = %@,value =%@",key,dict[key]);

•                                                                                                 }

•                                                                                                取出值的枚举器    [dict objectEnumerator];

•                                                                                 【*】forin[常用]

•                                                                                                     NSDictionary *dict =@{@"a":@1,@"b":@2,@"c":@3};

•                                                                                                        

•                                                                                                        for (NSString *key in dict) {

•                                                                                                            NSLog(@"%@-%@",key,dict[key]);

•                                                                                                        }

•                                                                                 【*】block方式[比较常用]

•                                                                                                  [dict enumerateKeysAndObjectsUsingBlock:^(idkey, id obj, BOOL *stop) {

•                                                                                                           

•                                                                                                            NSLog(@"key = %@,value =%@",key,obj);

•                                                                                                            

•                                                                                                        }];

•                                                                   字典与文件

•                                                                                 写入文件

•                                                                                                [dictwriteToFile:@"/Users/lideshan/Desktop/test.plist" atomically:YES];

•                                                                                 从文件中读取

•                                               [NSDictionarydictionaryWithContentsOfFile:@"/Users/lideshan/Desktop/test.plist"];

•                                                    【*】NSMutableDictionary

•                                                                  【**】可变字典,继承NSDictionary,可以对其中的元素进行增删改

•                                                                  【**】创建

•                                                                                 [NSMutableDictionary dictionary];

•                                                                                 [NSMutableDictionarydictionaryWithCapacity:10]

•                                                                  【*】添加或修改元素

•                                                                                 [dictM setObject:@4 forKey:@"d"];

•                                                                                  dictM[@"a"] = @10;

•                                                                  【*】删除元素

•                                                                                删除某个key对应的键值对

•                                                                                              [dictMremoveObjectForKey:@"a"]

•                                                                                删除数组中所有的key对应的键值对

•                                                                                              [dictMremoveObjectsForKeys:@[@"a",@"b"]];

•                                                                                删除字典中所有元素

•                                                                                              [dictM removeAllObjects];

•                                                                  【*】遍历的同时删除元素

•                                                                                字典不支持遍历同时删除元素

•                                                                                可以先通过遍历的方式找出所有要删除的key,放在数组中,然后通过 removeObjectsForKeys:来删除

•                                     Set【*】

•                                                    特点:无序,元素不可以重复,可以用快速去除数组中的重复元素,效率比数组要高

•                          NSSet

•                                                                  特点:不可以变,一经创建不能增删改

•                                                                  创建

•                                                                                  通过数组创建

•                                                                                 如数组有重复的元素该方法会去重

•                                                                                                 [NSSet setWithArray:array]

•                                         [NSSet setWithObjects:@1,@2,@3,nil];

•                                                                                注意:不能通过简便的方式[字面量]创建

•                                                                  判断是否包含某个元素

•                                        [set containsObject:@1];

•                                                                  遍历

•                                                                                forin【 常用】

•                                                                                                 for (NSNumber*num in set) {

•                                                                                                            NSLog(@"%@",num);

•                                                }

•                                                                                通过枚举器【少用】

•                                                                                                NSEnumerator *enumer = [set objectEnumerator];

•                                                                                                NSNumber *number;

•                                                                                                while (number = [enumer nextObject]) {

•                                                                                                    NSLog(@"%@",number);

•                                               }

•                                                                  NSSet 与NSArray 之间的转换

•                                                                                NSArray 转NSSet

•                                                                                                 NSSet *set = [NSSetsetWithArray:array]

•                                                                                NSSet 转NSArray

•                                                  NSArray *array = [set  allObjects];

•                          NSMutableSet

•                                                                  特点:可以增删元素

•                                                                  创建

•                                         [NSMutableSet set];

•                                         [NSMutableSet setWithCapacity:10];

•                                                                  添加

•                                        [setM addObject:@1];

•                                                                  删除

•                                        [setM removeObject:@1];

•                                     【**】集合类之间的转换

•                                                    NSArray 转 NSMutableArray

•                                 [NSMutableArray arrayWithArray:array];

•                          NSDictionary 转 NSMutableDictionary

•                                 [NSMutableDictionary dictionaryWithDictionary:dict];

•                          NSSet 转  NSMutableSet

•                                                                   [NSMutableSet setWithSet:set];

•                                                     NSArray 转 NSSet

•                                 NSSet *set = [NSSet setWithArray:array];

•                                                     NSSet 转 NSArray

•                                 NSArray *array = [set allObjects]

•                          NSDictionary 转NSArray

•                                                                     NSArray * keys = [dict allKeys];

•                                  NSArray * values = [dict allValues];

•                                     【**】集合类中的内存管理

•                                                    MRC

•                                                                  当你把一个对象放在集合类中的时候,集合会对这个对象进行一次retain操作

•                                                                  当你把一个对象从集合类移除的时候,集合会对这个对象进行一次

•                                                                  当集合销毁的时候,会对集合类中的所有对象进行一次release的操作

•                                                    ARC

•                                                                  当你把一个对象添加到集合中,集合会对这个对象有一个强引用

•                                                                  当你吧一个对象从集合中移除的时候,集合会释放掉对这个对象的强引用

•                                                                  当集合销毁的时候,会释放掉集合中所有对象的强引用

•                       【**】常用结构体

•                                     NSRange

•                                                    表示一个区间

•                                                      location 表示起点

•                          length  表示长度

•                   NSPoint/CGPoint

•                                                    表示平面上一个点

•                                                      x 表示x坐标

•                                                     y 表示y坐标

•                  NSSize/CGSize

•                                                    表示尺寸(大小)

•                                                      width 宽

•                          height 高

•                  NSRect/CGRect

•                                                    表示平面上的一个区域

•                                                      origin 位置(CGPoint)

•                          size  尺寸(CGSize)

•                                     创建方法【**】

•                           CGPoint创建

•                                  CGPointMake(CGFloat x, CGFloat y)

•                          CGSize创建

•                                 CGSizeMake(CGFloat width, CGFloat height)

•                          CGRectMake 创建

•                                   CGRectMake(CGFloat x, CGFloat y, CGFloatwidth, CGFloat height)

•                                     结构体转字符串【*】

•                          NSRange转字符串

•                                 NSStringFromRange(NSRange range)

•                          NSPoint转字符串

•                                 NSStringFromPoint(NSPoint aPoint)

•                          NSSize转字符串

•                                 NSStringFromSize(NSSize aSize)

•                          NSRect 转字符串

•                                  NSStringFromRect(NSRect aRect)

•                       【**】基本数据类型包装类NSNumber

•                                     基本类转包装类型

•                                                       [NSNumbernumberWithInt:(int)];

•                                                       [NSNumber numberWithChar:(char)];

•                                                       [NSNumbernumberWithDouble:(double)];

•                                                       [NSNumbernumberWithFloat:(float)];

•                           [NSNumbernumberWithBool:(BOOL)];

•                                     包装类型转基本类型

•                                                       number.intValue;

•                                                       number.floatValue;

•                                                       number.doubleValue;

•                                                       number.charValue;

•                           number.boolValue

•                       【**】 结构体的包装类NSValue

•                                     结构体转NSValue

•                                                    常见结构体转换

•                                                                     [NSValue valueWithRange:(NSRange)];

•                                                                     [NSValue valueWithPoint:(NSPoint)];

•                                                                     [NSValue valueWithSize:(NSSize)];

•                                                                    [NSValue valueWithRect:(NSRect)];

•                                                     自定义结构体转换

•                                                                    [NSValue valueWithBytes:(const void *) valueobjCType:(const char *)] type]

•                                                                    value 普通的结构体指针

•                                 type @encode(C语言的结构体类型)

•                                                                    typedef struct {

•                                                                         double width;

•                                                                         double height;

•                                                                     } MYSize;

•                                                                     MYSize size = {2,10};

•                                                                    NSValue *value = [NSValuevalueWithBytes:&size objCType:@encode(MYSize)];

•                                      NSValue 转结构体

•                                                    常见结构转换

•                                                                    value.rangeValue;

•                                                                    value.pointValue;

•                                                                    value.sizeValue;

•                                                                   value.rectValue;

•                                                     自定义结构体转换

•                                                                   [value getValue:&size];

•                         【*】NSDate

•                                       【**】创建日期

•                           NSDate *date = [NSDatedate];

•                           NSDate *da = [[NSDatealloc] init];

•                          + (instancetype)dateWithTimeIntervalSinceNow:(NSTimeInterval)secs;

•                                                       NSLog(@"%@",date);输出的时间是格林威治标准时间 

•                            本初子午线穿过哪里

•                                     【**】日期格式化

•                                                      //     创建日期

•                                                              NSDate *date = [NSDatedate];

•                                                      //     创建日期格式化器

•                                                              NSDateFormatter *formatter = [[NSDateFormatter alloc]init];

•                                                      //     设置日期格式

•                                                              formatter.dateFormat = @"yyyy年MM月dd日  HH时mm分ss秒Z";

•                                                      //     yyyy:年 MM:月 dd:日hh:时 mm:分 ss:秒 Z代表时区

•                                                      //     将日期转换为指定格式的字符串

•                                                              NSString *dateStr = [formatter stringFromDate:date];

•                                                              NSLog(@"%@",dateStr);

•                                                      //     将格式字符串转为日期

•                                                              NSDate *newDate = [formatter dateFromString:dateStr];

•                                  NSLog(@"%@",newDate);

•                                     【*】日期比较

•                                                    判断两个日期是否相同

•                                      BOOL isEqual = [date1 isEqualToDate:date2];

•                                                    日期比较

•                                  NSComparisonResult res = [date1 compare:date2];

•                                                    返回两个日期中较早一个

•                                   NSDate * earlierDate =  [date1 earlierDate:date2];

•                                                    返回两个日期中较晚的一个

•                                  NSDate *laterDate= [date1 laterDate:date2];

•                                     【*】NSCalendar

•                                                    日历:主要用于日期的计算

•                                                    获取当前的日历对象

•                                   NSCalendar *calendar = [NSCalendarcurrentCalendar];

•                                                    取出日期的某一部分

•                                                                       // 1.当前时间

•                                                                        NSDate *now = [NSDatedate];

•                                                                        // 2.创建一个日历对象

•                                                                        NSCalendar *calendar = [NSCalendarcurrentCalendar];

•                                                                        // 3.利用日历对象或者时间对象对应的年、月、日、时分秒

•                                                                        int unit = NSCalendarUnitYear| NSCalendarUnitMonth | NSCalendarUnitDay;

•                                                                        NSDateComponents *cmps = [calendar components:unit fromDate:now];

•                                                                        // 4.打印时间的要素

•                                     NSLog(@"%ld",cmps.day);

•                                                    计算两个日期之间相差的时间

•                                                                            NSString *time1 = @"2014-12-0820:50:40";

•                                                                            NSString *time2 = @"2014-12-0418:45:30";

•                                                                            

•                                                                            NSDateFormatter *fmt = [[NSDateFormatteralloc] init];

•                                                                            fmt.dateFormat = @"yyyy-MM-ddHH:mm:ss";

•                                                                            

•                                                                            NSDate *date1 = [fmt dateFromString:time1];

•                                                                            NSDate *date2 = [fmt dateFromString:time2];

•                                                                            

•                                                                            // 1.创建一个日历对象

•                                                                            NSCalendar *calendar = [NSCalendarcurrentCalendar];

•                                                                            

•                                                                            // 2.比较时间的差距

•                                                                            int unit = NSCalendarUnitYear| NSCalendarUnitMonth | NSCalendarUnitDay

•                                                                            | NSCalendarUnitHour | NSCalendarUnitMinute| NSCalendarUnitSecond;

•                                                                            NSDateComponents *cmps = [calendarcomponents:unit fromDate:date2 toDate:date1 options:0];

•                                                                            

•                                         NSLog(@"相差%ld年%ld月%ld天%ld小时%ld分钟%ld秒", cmps.year,cmps.month, cmps.day,cmps.hour, cmps.minute,cmps.second);

•                                                    在原来的日期的基础上添加时间

•                                   NSDate *newDate =  [calendar dateByAddingComponents:cmps toDate:date options:NSCalendarMatchStrictly];

•                       【*】文件操作

•                                     【*】文件管理器NSFileManager

•                                                    概念:该类是一个单例类,用于文件相关的操作

•                                                    获取文件管理器

•                                                                  NSFileManager * defaultManager= [NSFileManager defaultManager];

•                                                    【*】判断是该路径下是否存在文件或文件夹

•                                                                    BOOL isExist = [fileManagerfileExistsAtPath:path];

•                                                                    BOOL isDir = NO;

•                                                                    BOOL isExist = [fileManagerfileExistsAtPath:path isDirectory:&isDir];

•                                                                    如果是目录isDir的值为YES,

•                                                                    注意:1、这里传入的是一个BOOL类型的变量的地址

•                                             2、只有文件存在才会判断他是路径还是文件,如果路径或文件不存两个值都是NO

•                                                    【*】文件权限

•                                                                  判断文件是否可读的

•                                                                                BOOL isReadable =[fileManager isReadableFileAtPath:path];

•                                                                  判断文件是否是可写的

•                                                                                BOOL isWritable =[fileManager isWritableFileAtPath:path];

•                                                    【*】获取文件或目录的属性

•                                                                    NSFileManager *fileManager = [NSFileManager defaultManager];

•                                                                    NSString *path =@"/Users/lideshan/Desktop";

•                                                                    NSError *error;

•                                                                    NSDictionary *dict = [fileManager  attributesOfItemAtPath:patherror:&error];

•                                                                    NSLog(@"%@",dict);

•                                                                    NSLog(@"%@",dict[@"NSFileSize"]);//我们可以通过这个属性获取文件的大小

•                                                                    NSLog(@"%@",dict[NSFileSize]);//与上面的方式是等价的,我们通常使用这一种

•                                         

•                                                    【*】获取目录的内容

•                                                                  获得当前文件夹下的内容

•                                                                                  NSError *error = nil;

•                                                                                  NSArray *array = [fileManagercontentsOfDirectoryAtPath:path error:&error];

•                                                                   获得当前文件夹下及其子文件夹的内容

•                                                                                    NSError *error = nil;

•                                                                                   NSArray *array = [fileManagersubpathsOfDirectoryAtPath:path error:&error];

•                                                     【*】拷贝文件(原文件保留)

•                                                                   [fileManagercopyItemAtPath:src toPath:dest error:&error];

•                                                     【*】移动文件(原文件会被删除)

•                                                                    [fileManager moveItemAtPath:src toPath:desterror:&error];

•                                                     【**】创建目录

•                                                                     [fileManager createDirectoryAtPath:destwithIntermediateDirectories:NO attributes:nil error:&error];

•                                                                    withIntermediateDirectories:是否要创建中间目录

•                                                                    YES 表示创建中间目录

•                                                                    NO 表示不创建中间目录

•                                 attributes: 是目录的属性信息,nil表示使用默认属性

•                                                    【**】创建文件

•                                                                   [fileManager createFileAtPath:destcontents:data attributes:nil];

•                                     【**】NSData

•                                                      概念: IOS中二进制文件使用NSData保存

•                                                     音频、视频文件必须使用NSData来保存

•                                                     把文件加载到内存

•                                 NSData *data = [NSData dataWithContentsOfFile:path];

•                                                                  注意:  NSData是不可变的Data类型,只能通过一次加载,完成所有的数据加载

•                                                    把内存中的数据写入到文件中

•                                   [data writeToFile:path atomically:YES];

•                                     【**】NSMutableData

•                                                    当你需要把多个NSData数据拼接成一个数据存储的时候,就要使用NSMutableData

•                                                       NSMutableData *dataM = [NSMutableDatadata];

•                          [dataM appendData:data];

•                       【*】NSObject

•                                     判断某个实例对象是否实现某个方法

•                          - (BOOL)respondsToSelector:(SEL)aSelector;

•                                     让某个实例对象动态去执行某个方法

•                                                      - (id)performSelector:(SEL)aSelector;

•                                                      - (id)performSelector:(SEL)aSelector withObject:(id)object;

•                          - (id)performSelector:(SEL)aSelector withObject:(id)object1withObject:(id)object2;

•                                     判断一个实例对象是否是一个类的实例对象

•                          - (BOOL)isMemberOfClass:(Class)aClass;

•                                     判断一个实例对象是否是一个类 或其子类的实例对象

•                          - (BOOL)isKindOfClass:(Class)aClass;

•                                     判断一个实例对象是否实现了某个协议

•                          - (BOOL)conformsToProtocol:(Protocol*)aProtocol;

•                       【*】复制

•                                     不可变对象

•                                                    一经创建不可增加、删除、修改的对象,只要是对对象中内容进行修改添加删除的操作的方法都会返回一个全新的对象,而原来的对象不受影响

•                                                    NSString,NSArray,NSDictionary,NSSet

•                                     可变对象

•                                                    创建后可以进行增删改对象,可以在原来的对象的基础上进行增删改,当一个对象中的元素需要经常进行增删改的操作的时候,使用可变对象效率更高

•                                                    NSMutableString,NSMutableArray,NSMutableDictionary,NSMutableSet

•                                     浅复制

•                                                    不会产生新对象的复制

•                          NSString调用copy : 浅复制

•                                                    如果是不可变对象调用copy方法产出不可变副本,那么不会产生新的对象

•                                     深复制

•                                                    会产生全新的对象的复制

•                           NSString调用mutableCopy : 深复制

•                           NSMutableString调用copy : 深复制

•                           NSMutableString调用mutableCopy : 深复制

•                                                    可变对象上调用copy 或 mutableCopy都会产生一个全新的对象,不可变量对象调用 mutableCopy会产生一个新对象

•                                     复制与引用计数器

•                                                    在MRC中,不可变对象调用copy方法,引用计数+1(NSString除外),不可变对象调用mutableCopy会产生一个全新的对象引用计数为1,可变对象调用copy 或mutableCopy都会产生一个全新的对象,引用计数为1

 

Objective C TCP 通讯实例 TCP通讯实例 Communicator.h  #import @interface Communicator : NSObject { @public NSString *host; int port; } - (void)setup; - (void)open; - (void)close; - (void)stream:(NSStream *)stream ha 阅读详情

相关推荐

把 Objective-C framework 引入到 Swift framework

iOS开发常见问题 把 Objective-C framework 引入到 Swift framework 文章目录 系列文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结 前言 时隔5年没更新博客,当年还是大二大三的时候什么方向都尝试了一遍,最后一直在iOS方向发展。 最近有个项目是纯Swift语言的动态库,这个Swift framework需要复用另一个项目组纯Objective-C写成的陈年老代码动态库。我通过modul..

suusatoshigi@iOS 988

vc++ hook 拦截自己进程指定的api函数_【Frida 实战】API查找器和拦截器的组合使用...

本文是 Frida 系列教程的第四篇,讲解 API查找器和拦截器的组合使用,以及替换 implementation 的方式进行 Hook。第一篇:【Frida 实战】在 iOS 上分析应用第二篇:【Frida 实战】Hook 大法,拦截器的使用第三篇:【Frida 实战】如何拦截 sub_xxxx 这种函数在前面的 Frida 教程中我们讲到了如何使用拦截器(Interceptor)对 ...

weixin_39716264的博客 479

2.1 量子精密测量:SERF原子陀螺仪中的核自旋-电子自旋强耦合机制

本文深入解析了SERF原子陀螺仪中核自旋-电子自旋强耦合机制的核心原理与应用。通过量子精密测量技术,SERF陀螺仪实现了超高精度的惯性导航,其独特的磁场自补偿和拉莫尔进动特性使其在弱磁场环境下表现出色。文章还探讨了关键技术突破和前沿进展,展示了量子精密测量在惯性导航领域的巨大潜力。

kotlin6android的博客 210

hook framework_hook反越狱检测解读

抖音系列检测很严格 包括ker fish 等类型的hook 还有签名, 非法模块, 以及非官方dylib检测都有做包含了大概3000+的AB点, 能过的基本大仙级别, 能做的基本都是大佬, pay for much muchmoney, 很值得!1、iOS App运行的步骤为:用户点击App启动-> load(各种framework和dylib, 包含MobileLoader...

weixin_39621488的博客 807

【AutoDL】使用云服务器跑深度学习代码

1.算力市场 租用服务器,选择自己心仪的服务器2.镜像可以选择一些基础的镜像,社区镜像里是git上有的环境。3.上传文件在文件存储中,选择上传的区,在右边点击上传,选择自己的文件上传到云服务器中。

weixin_45768644的博客 3702

【华为2021校招】笔试题【通用硬件】

时间:2020/07/15 19:00 时长:60min 题型:40单选+5多选 难度:中等 考察范围:模电、数电、SI、EMC、电源、微机原理、计算机网络、材料

Jkcia的博客 4万+

iOS系统越狱检测

越狱检测/越狱检测绕过——xCon 一直忽略了越狱检测与越狱检测绕过的问题,因为我认为在app争抢装机率的环境下,是不会在乎对方的设备越狱与否的。但很显然,我忽略了一个问题,app在设计的时候或许会依照设备是否越狱而采取不同的流程,比如说对越狱的设备采取更多的安全措施,在这种场景下,越狱检测是否可靠就成为了关键问题。本篇文章主要介绍越狱检测的常见方法(并配有相应的测试代码),以及最流行的

zkdemon的专栏 2万+

数据库崩溃恢复机制:REDO日志与UNDO日志详解

在数据库管理系统中,事务的持久性和一致性是至关重要的。为了保证在系统崩溃或发生故障时数据不会丢失,数据库引入了恢复机制。其中,REDO日志和UNDO日志是两种关键的恢复技术。本文将详细描述这两种日志的作用、工作原理以及它们在数据库崩溃恢复中的应用。

My_wife_QBL的博客 1410

越狱检测/越狱检测绕过——xCon

原文http://blog.csdn.net/zkdemon/article/details/8242064 越狱检测/越狱检测绕过——xCon 一直忽略了越狱检测与越狱检测绕过的问题,因为我认为在app争抢装机率的环境下,是不会在乎对方的设备越狱与否的。但很显然,我忽略了一个问题,app在设计的时候或许会依照设备是否越狱而采取不同的流程,比如说对越狱的设备采取更多的安全措施,

冷小G的技术博客 1万+

打开LWIP_DEBUG的打印信息调试

在lwip 2.1.2的版本,打开的debug 调试的步骤: 1.在debug.h 文件中找到debug打印的定义 默认LWIP_DEBUG这个宏没有定义, 2.在lwipopt.h 文件中或者其他文件定义 一下LWIP_DEBUG这个宏, 3.在opt.h 中可以打开各种宏的调试信息, /* --------------------------------------- ---------- Debugging options ---------- ---------...

haidscs的博客 9879

电流模架构Bandgap设计与仿真

带隙基准作为集成电路中一个重要模块,被广泛应用在低压差线性稳压(LDO)、充电电池保护芯片和通信电路、射频收发器、flash存储器等多种模拟及数模混合集成电路中,并且是片上集成系统(SOC)芯片中不可或缺的部分,为整个芯片提供精确的电压参考点............

qq_50968231的博客 5万+

iOS安全攻防(二十):越狱检测的攻与防

越狱检测的攻与防在应用开发过程中,我们希望知道设备是否越狱,正以什么权限运行程序,好对应采取一些防御和安全提示措施。iOS7相比之前版本的系统而言,升级了沙盒机制,封锁了几乎全部应用沙盒可以共享数据的入口。即使在越狱情况下,限制也非常多,大大增加了应用层攻击难度。比如,在iOS7之前,我们可以尝试往沙盒外写文件判断是否越狱,但iOS7越狱后也无该权限,还使用老方法检测会导致误判。那么,到底应该如何

念茜的博客 4万+

STM32(HAL库)驱动HC-SR04测距模块

本文介绍通过STM32F103C8T6单片机对HC-SR04测距模块进行驱动,并且通过串口对数据进行打印。

weixin_44597885的博客 2203

Objective-C

Objective-C是一种通用、高级、面向对象的编程语言。它扩展了标准的ANSI C编程语言,将Smalltalk式的消息传递机制加入到ANSI C中。当前主要支持的编译器有GCC和Clang(采用LLVM作为后端)。 Objective-C的商标权属于苹果公司,苹果公司也是这个编程语言的主要开发者。苹果在开发NeXTSTEP操作系统时使用了Objective-C,之后被OS X和iOS继承下...

qq_24624539的博客 593

实战优化!C#上位机串口通信卡顿问题:超时机制+数据缓存方案

串口名</param>/// <param name="baudRate">波特率

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1063

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

如何从Swift调用Objective-C代码?

In Swift, how does one call Objective-C code? 在Swift中,如何调用Objective-C代码? Apple mentioned that the

p15097962069的博客 1457

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Objective-c——NSLog

说明: 在Objective-C中,NSLog相当于C语言中的printf,常用于文字输出,并支持自动换行。 NSLog的定义 NSLog定义在NSObjCRuntime.h中,如下所示: void NSLog(NSString *format, …); 基本上,NSLog很像printf,同样会在console中输出显示结果。不同的是,传递进去的格式化字符是NSString

Simple man 2030

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Objective-C和C++混编的要点

<br />Using C++ With Objective-C<br />苹果的Objective-C编译器允许用户在同一个源文件里自由地混合使用C++和Objective-C,混编后的语言叫Objective-C++。有了它,你就可以在Objective-C应用程序中使用已有的C++类库。<br /><br />Objective-C和C++混编的要点<br />在 Objective-C++中,可以用C++代码调用方法也可以从Objective-C调用方法。在这两种语言里对象都是指针,可以在任何地方使

4319

Objective-c 反射

Class test = NSClassFromString(@"TestBean");         id obj = [[test alloc]init]; //        Class cls = object_getClass(obj);         //        Class test = class_getSuperclass(test1);

zj7758的专栏 2559

理解 Objective-C Runtime

当人们初学 Cocoa/Objective-C 时,Objective-C Runtime 是被忽略的特性之一。原因是 Objective-C(这门语言)很容易在几小时内就熟悉,新学 Cocoa 的人花费他们大部分的时间学习 Cocoa 框架和适应它是如何工作的。然而每个人至少应该知道一些 runtime 的工作细节,需要比知道编译器会把 [target doMethodWith:var1];  

Flying_in_the_world的专栏 2094

objective-c 项目分析

此文章转载自http://www.dotblogs.com.tw/cmd4shell/archive/2012/10/18/77570.aspx,我这里只是做了一个保留

H.R 3933

objective-c入门

一、Objective-C与C的渊源 Objective-C诞生于 20 世纪 80 年代,由Brad Cox 发明,意在将流行的、可移植的 C 语言与优雅的 Smalltalk 语言结合在一起。Objective-C 是 C 语言的一个扩展集,它以 C 语言为基础,在语言中添加了一些微妙但意义重大的特性。 苹果公司的iphone平台采用Objective-C做为native l

张凯的专栏 566

《Objective-C学习》: Objective-C对于C的扩展

Objective-C基础语法 首先我们先来看看一个示例程序 #import <Foundation/Foundation.h> @interface SampleClass:NSObject - (void)sampleMethod; @end @implementation SampleClass - (void)sampleMethod { NSLog(@"He...

菠萝菠萝哒X 573

Objective-C学习中对 C语言的扩展

点击上方蓝字关注我,了解更多咨询Objective-C学习中对 C 的扩展是本文要介绍的内容,Objective-C和Cocoa是苹果公司Mac OS X操作系统的核心。Objective-C语言是C语言的一个扩展集,许多具备Mac OS X外观的应用程序都是使用该语言开发的。Cocoa是使用Objective-C编写的工具包,它不仅包含Mac OS X用户界面的所有元素...

轻松学C语言 373

objective-c之struct

// // main.m // struct // // Created by wu jianhua on 16-8-3. // Copyright (c) 2016年 wujianhua. All rights reserved. // #import struct Books { NSString *title; NSString *author; NSS

云守护的专栏 1786

Objective-C学习笔记之一

/******by Jiangong SUN********/   int 整型 float 单精度 long 常整型 double 双精度 为什么编译器程序要求声明变量类型?这是因为计算机程序需要占用部分内存。编译器程序要为每个变量预留出内存空间。不同的数据类型,也就是int型和float型,需要不同的存储空间和代码,编译器程序要预留出足够的空间并使用正确的代码。 % 取余

SUN Jiangong's technical blog 4227
上一篇: 再探Objective-C.7
下一篇: 再探Objective-C.9
myInterface
博客等级 码龄12年 2粉丝 17原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值