运行时 的用法 1.定义的一个类,里面有一个私有变量mt_,并且在初始化值为"HaHa Ha ".@interface Mobj : NSObject {@privateNSString *mt_;}@end @implementationMobj- (id)init {self = [super init];if (self) {mt_ =[[NSString alloc] initWithString:@"Ha Ha Ha"];}return self;}- (…
点语法 点语法本质是函数的调用,不是像java中那样,是用来访问成员变量的:oc中访问成员变量是用 -> 访问的: Person *p = [Person new]; p.age = 10; // 如果点语法是进行了赋值操作,那么就相当于调用了setter方法: [p.age]; // 这样不赋值相当于调用了getter: 注意点: 尽量不要在setter或getter中调用点语法,容易引发死循环:死循环是由于递归调用引发的: // 在setter调用点语法 - (void)setAge:(in…
在ES5中,顶层对象的属性和全局变量是等价的,var 命令和 function 命令声明的全局变量,自然也是顶层对象. var a = 12; function f(){}; console.log(window.a); // console.log(window.f); // f(){} 但ES6规定,var 命令和 function 命令声明的全局变量,依旧是顶层对象的属性,但 let命令.const命令.class命令声明的全局变量,不属于顶层对象的属性. let aa = 1; cons…
1.SEL SEL是selector的缩写,selector在OC中作用是定义一个方法变量,通过该方法变量来调用方法.我们在后面的UI中会经常用selector来调用事件方法.下面我将举两个例子来说明SEL的使用. 直接通过方法名来调用,我们先新建一个Student类,并在其中定义一个名叫Test的对象方法.并定义一个输出语句: -(void)test { NSLog(@"这是SEL的测试方法"); } 我们在Main方法中通过SEL调用就会输出以上结果,如下: SEL s = @se…
在OC和Swift混编的过程中发现在OC中通过NSClassFromString获取不到Swift中的类,调研了一下发现问题所在,下面是我的解决方案: 问题的发现过程 UIViewController *destinationVC = [[NSClassFromString(demoInfoModel.demoVCName) alloc] init]; [self.navigationController pushViewController:destinationVC animated:YES…
线上html <!DOCTYPE html> <html> <head> <title>HTML中用JS调用OC方法</title> <style> #div1 { background-color:#ccc; width:100px; height:100px; position:absolute; top:400px } </style> <meta http-equiv="Content-Type&q…
字典用于保存具有映射关系数据的集合 一个key—value对认为是一个条目(entry),字典是存储key—value对的容器 与数组不同,字典靠key存取元素 key不能重复,value必须是对象 键值对在字典中是无序存储的 字典分:不可变字典(NSDictionary)和可变字典(NSMutableDictionary) 不可变字典一旦创建,键值对就不可更改,不可添加,不可删除,仅能读取key或者value 常用方法有: 1.创建字典对象 2.获取所有key值,获取所有value值 3.通过…
和C语言不同,在Objective-C语言中,有单独的字符串类NSString.C语言中,string是由 char(ASCLL码)字符组成 OC中,字符串是由unichar(Unicode)字符组成 NSString,不可变字符串,即:创建以后,内容和长度不能更改 NSMutableString,可变字符串,即:创建以后,内容还可以修改 在使用哟个字符串对象之前首先创建一个新的字符串,可以使用实例方法和便利构造器 NSString常用的方法 1.使用实例方法和便利构造器创建一个新的字符串 2.…
在对类和对象有一定了解之后,我们进一步探讨实例变量的可见度等相关知识 实例变量的可见度分为三种情况:public(共有),protected(受保护的,默认),private(私有的),具体的不同和特点如下:     具体的使用示例如下:     编程时默认的可见度是@protectde,为什么不使用@public呢? 因为OC是面向对象编程,使用@public关键字,暴漏了类内部的细节,从而不符合面向对象语言的三大特性之一——封装 实例变量经过@protectde修饰之后,我们就不能在该类和其…
OC中文件操作,在之前的文章中,已经接触到了文件的创建了,但是那不是很具体和详细,这篇文章我们就来仔细看一下OC中是如何操作文件的: 第一.首先来看一下本身NSString类给我们提供了哪些可以操作文件路径名的方法 [objc]  view plaincopy   8.    9. #import <Foundation/Foundation.h>   10.    11. int main(int argc, const charchar * argv[]) {   12.     @aut…