【【读书笔记】iOS-Objective-C对C的扩展基础知识】教程文章相关的互联网学习教程文章

iOS中使用JavaScriptCore实现Objective-C和JavaScript的相互调用【代码】【图】

最近看了一个对Github上面编程语言使用统计的排行榜,JavaScript真可以说是一枝独秀,很难想象20年前,这个语言只是浏览器中的装饰性语言,能做的事情也就是一点特效或者检查一下要提交给服务器的表单是否满足要求。今天的JavaScript已经是一个全栈语言,从客户端到服务器无所不在。很多编程语言都提供了跟JavaScript进行交互的接口,这一点在iOS开发中也不例外。 ??iOS7以前,在App中调用JavaScript的方式只有一种,就是通过UIWe...

【iOS开发系列】NSObject方法介绍

NSObject是OC中的基类,全部类都继承于此,这里面也给我们提供了非常多与“类”和“方法”相关的方法,本文将解说几个非常有用的方法。正文:Person.h#import <Foundation/Foundation.h> @interface Person : NSObject @end</span> Student.h#import "Person.h" // 继承Person类 @interface Student : Person - (void)test1; - (void)test2:(NSString *)string; @end</span> MyProtocol.h#import <Foundation/Foundation.h> @p...

【学习ios之路:Objective-C】深拷贝和浅拷贝

深浅拷贝的区别: 深拷贝 拷贝 内容 浅拷贝 拷贝 地址注:当对象str1在常量区时①对不可变字符串NSString对象进行copy NSString *str1 = @"Hello"; //str1 -- 常量区NSLog(@"%p", str1);//0x100002048//copyNSString *str2 = [str1 copy];//0x100002048 str2 -- 常量区NSLog(@"%p", str2);//str2 与 str1都指向常量区,地址相同,引用计数为无穷大NSLog(@"str2 retaincount = %lu", [str2 retainCount]);<spa...

【学习ios之路:Object-C】继承,便利构造器.NSString应用【图】

1.继承定义 公共父类使用场景:当多个类之间存在部分相同的特征以及行为时,为了防止多个类中写重复代码,新建一个公共的父类,父类中填写多个类中相同的特征以及行为,让多个类继承即可.2.继承特点 *.继承内容:父亲全部的实力变量以及方法 *.继承过来的内容的所有权:继承过来的内容是自己的,只不过来源于父类, *.OC中只允许单继承,也就是一个类只能有一个父类, *.继承具有传递性.A继承自B,B继承自C,A拥有B和C的...

Effective Objective-C 2.0 编写高质量iOS与OS X代码 对象等同性

1. 若想检测对象的等同性,请提供“isEqual”与“hash”方法。- (BOOL)isEqual:(id)object {if(self == object) return YES;if([self class] != [object class] ) return NO;ConcreteId *otherId = (ConcreteId*)object;if(![someProperty isEqual:otherId.someProperty])return NO;// ……… 比较其他属性值return YES; }① 特定类所具有的等同性判定方法如果受测的参数与接收该消息的对象都属于同一类,那么就调用自己编写的判定...

ios 64位下编译webrtc的libvpx库出现错误Bad cputype for object file.Currently only tested for CPU_TYPE_x86_64

diff --git a/libvpx.gyp b/libvpx.gypindex 4f8cb2b..4eb6866 100644--- a/libvpx.gyp+++ b/libvpx.gyp@@ -74,7 +74,7 @@ # support for neon and hide it behind Android cpu-features. ‘includes‘: [‘libvpx_srcs_arm_neon_cpu_detect_intrinsics.gypi‘, ], }],- [ ‘(target_arch != "arm" and target_arch != "armv7") and \+ [ ‘(target_arch != "arm" and target_arch != "armv7" and target_ar...

object-c基础学习 基于<iOS软件开发揭秘>

一 oc基本数据类型1,id类型指向object-c对象的指针 可以指向任意的对象类型,可以将任意消息传递给id,id不支持该消息时,会返回运行时异常,"unrecognized selector send to instance xxx"消息;常用于表示类的委托属性,例:@property id<协议名> delegate;2,SEL类型,用来定义方法的关键字oc对象可以接受任何消息,但不一定能响应,通过方法:respondsToSelector()来判断对象是否能响应某个消息,保护代码,- (BOOL)respondsToSelector:(SEL...

Object-c 编程之道 IOS设计模式解析【图】

一,初识 设计模式是为特定场景下的问题而定制的解决方案.特定的场景指问题所在重复出现的场景.问题指特定环境下你想达成的目标.定制的解决方案是指在特定环境下克服问题限制条件而达成目标的一种设计. 设计模式是经过时间证明为有效的,对特定面向对象设计问题主要方面的一种抽象,体现了面向对象的重要思想.有些设计原则影响着设计模式,而这些原则是构建可复用,可维护的面向对象应用程序的经验法则,比如”优先使用对象组合而不是类...

iOS开发编码建议(Objective-C)(持续更新中)【图】

在开发过程中,我们不仅要去看别人的代码,也要让别人看我们的代码。那么,有一个良好的编码习惯将会非常重要。下面将会罗列使用Objective-C来开发iOS的编码建议。【1】任意函数长度不得超过50行。(其实很容易就超过50行,这就要考虑代码抽取了。)【2】任意行代码不能超过80字符。(其实也很容易超过80字符,可以考虑多行显示,比如有多个参数时,可以每个参数放一行。)可以在Xcode中设置超过80个字符的提醒,选中“Page guide ...

【iOS开发】关于objective-c中的类的总结

1》类的创建:@interface Car:NSObject{//变量名}//方法声明@end@implementation Car//方法的实现@end2》类的继承(oc中不支持多继承,可以通过其他特性达到多继承的效果, 例如『类别』catergory 和『协议』protocol)@interface Circle:Car@end 2.1》继承后的方法调度问题:当代码发送消息的时候,调用方法时会首先去自身里面找有没有这个方法,如果没有就会去他的父类里面找,知道NSObject类里面。如果还没有就会出现错误。2.2》...

iOS开发那些事儿(四)the dark arts of the Objective-C runtime【代码】【图】

一."Black Magic":Method Swizzling 利用 Runtime 特性把一个方法的实现与另一个方法的实现进行替换,也可以用runtime的四维理解——修改Dispatch Table让一个方法的IMP对应到我们指定的IMP上去 二.实例说明:比如我们想要在APP中记录每一个ViewController的出现次数 三.实例分析:第一种思路就是在ViewController出现的一瞬间(viewDidAppear)我就用记录工具记录一条日志。1@implementation MyViewController ()2 3 - (void)vie...

iOS开发之Objective-c的AES加密和解密算法的实现【代码】

原文:http://www.lidaren.com/archives/1470高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法。 以下实现代码中分别为NSData和NSString增加了一个Category。使用时直接调用即可。需要注意的是,AES并不能作为HASH算法,加密并解密后的结果,并不一定与原文相同,使用时请注意进行结果验算。例如解密原文的长度,格式规则等。 NG实例原文:170987350 密码:170 Objective-c的AES加密和解密算法的具体实现代...

ios Objective-C关键字和概念

@看到这个关键字,我们就应该想到,这是Object-C对C语言的扩展,例如@interface XXX。@interface声明类@implementation实现类@protocol声明协议@optional与@protocol配合使用,说明协议中的某个或者某几个方法可以不实现@required与@protocol配合使用,说明协议中的某个方法或者某几个方法必须实现@end与@interface ,@implementation,@protocol配合使用,代表声明或者实现结束@encode@encode为编译器宏,它可以将类型转换为相应的...

【IOS】深入Objective-C的动态特性(转)【代码】

转载至:http://www.onevcat.com/2012/04/objective-c-runtime/Objective-C具有相当多的动态特性,基本的,也是经常被提到和用到的有动态类型(Dynamic typing),动态绑定(Dynamic binding)和动态加载(Dynamic loading)。这些动态特性都是在Cocoa程序开发时非常常用的语言特性,而在这之后,OC在底层也提供了相当丰富的运行时的特性,比如枚举类属性方法、获取方法实现等等。虽然在平常的Cocoa开发中这些较底层的运行特性基本...

iOS开发:Objective-C中通知与协议的区别?

what is difference between NSNotification and protocol? (通知和协议的不同之处?)我想大家都知道这个东西怎么用,但是更深层次的思考可能就比较少了吧,众所周知就是代理是一对一的,但是通知是可以多对多的.但是为什么是这个样子,有没有更深的思考过这个问题?今天看了下网上的几个视频教程,KVO、KVC、谓词、通知,算是开发中的高级点的东西了。通知和协议都是类似于回调一样,于是就在思考通知和协议到底有什么不同,或者说什...