`
MagicBird
  • 浏览: 137206 次
  • 性别: Icon_minigender_2
  • 来自: 惠州
社区版块
存档分类
最新评论
文章列表
  有可能模拟器没有连上网,   iOS Simulator -> Reset Content and Settings解决

Day19 ios常用文件

    博客分类:
  • ios
Info.plist文件 程序运行的配置文件,不能删除(修改了infoplist文件,模拟器应用要删除,程序要clean),该文件的图形化配置界面就是直接点击项目,主界面配置。 bundledisplayname:程序名称 bundleID:上架标识 bundleversionstring: ...

Day18 UI杂七杂八

    博客分类:
  • ios
UIViewController UIViewController用来管理UIView,负责创建、显示、销毁、监听UIView内部事件,处理UIView与用户的交互。UIViewController内部有个UIView属性负责管理UIView @property(nonatomic,retain) UIView *view; -(void)ViewDidLoad(){ [super viewDidLoad]; }// ...
xcode常用快捷键 用惯了eclipse快捷键,现在开始学习oc,罗列些常用快捷键,见到再不断补充~ 1、上下移动当前行 option+command+[  向上移动当前行 option+command+]  向下移动当前行 参见 2、删除当前行 首先command+←移到当前行头,再ctrl+k删除光标后所有内容 或者command+→移动当前行尾,再command+delete删除光标前所有内容(推荐) 或者鼠标三击选中当前行+delete 3、复制当前行到下一行 鼠标三击选中当前行,移到下一行command+c 4、运行,停止,在工具栏的Product中 ...
结构体 NSRange(包括location和length,可表示某字符串在一字符串的位置和长度、数组中元素等)   //结构体方式的赋值(不常用) NSRange r1 = {1,2}; NSRange r2 = {.location = 1,.length = 2}; //使用下面方法 NSRange r3 = NSMakeRange(1,2); NSRange r4 = [str rangeOfString:@"aaa"];//查找某个字符串在str中的范围,如果找不到,length = 0,location = NSNotFound = -1   ...

Day16 oc protocol协议

    博客分类:
  • ios
protocol协议的使用 创建文件,选择object c - protocol,只有.h文件   @protocol Myprotocol { -(void)test1; @required//默认,要求实现,不实现会发出警告,方便协同交流(不同于java中接口不实现会报错) -(void)test2; @optional//不要求实现 -(void)test3; } 协议关键字:required、optional   用来声明方法,类想要拥有这些方法,只需遵守这个协议   #import “MyProtocol.h” //:继承<>遵守 ...
定义block变量 int (^myBlock)(int ,int );   普通代码块 { do something...代码块中的成员变量作用域为代码块结束时 }   block封装代码块 block封装了一段代码,可以在任何时候调用。很像函数,可以保存代码,有参数返回值。 ^(){ }; ^{ }; ^(int a ,int b){ };   定义+封装如下,block的标志:^ void (^blockName)()=^{//如果block没有形参可以省略^() do something... };  利用block调用blo ...

Day14 oc ARC

    博客分类:
  • ios
ARC基本原理 是一个编译器特性,编译器在发现alloc对象,插入release的代码。不同于java的垃圾回收机制,是运行时机制。ARC的判断机制:只要没有强指针指向对象就会释放对象。 强指针:默认情况下所有指针都是强指针__strong ...

Day13 oc autorelease

    博客分类:
  • ios
autorelease autorelease方法会返回对象本身,调用后会将对象放入自动释放池中,当自动释放池销毁时,会对池中所有对象做一次release操作 Person *p = [[[Person alloc] init] autorelease];//对象计数器并没有变  ios5.0以后,自动释放池的使用 @autoreleasepool {//括号开始代表创建自动释放池 }//括号结束代表销毁  即 @autoreleasepool//延缓了对象释放的时间,缺点也是不能精确控制对象的销毁 {//1 Person *p = [[[Person alloc] in ...

Day12 oc循环引用

    博客分类:
  • ios
 
循环引用 开发中引用一个类的规范 1、在.h中用@class来声明类 2、在.m中用#import来包含所有类的东西 Person.h @class Card//在头文件中仅仅@class,用在头文件中声明一个类,相比较import不是全部导入 @interface Person :NSObject @property(nonatomic,retain) Card *card; @end Card.h @class Person//仅仅告诉编译器Person是个类 @interface Card :NSObject @property(nonatomic, ...

Day11 oc SEL

    博客分类:
  • ios
SEL 1、把test方法包装成sel类型的数据 2、根据sel数据找到对应的方法地址 3、根据方法地址找到对应的方法 Person *p = [[Person alloc] init]; //间接通过sel调用方法[p performSelector:@selector(test)]; [p test]; //传参[p performSelector:@selector(test1:) withObject:@"aaa"] [p test1:@"aaa"];  方法的存储位置 每个类的方法列表都存储在类对象中,每个方法都有一个与 ...

Day10 oc分类Category

    博客分类:
  • ios
oc分类Category 作用:不修改原类的基础上给类扩充方法 注意: 1、分类只能增加方法,不能增加成员变量,如果要添加变量考虑用继承 2、分类方法实现中可以访问原类的成员变量  3、分类重新实现原类中的方法,会覆盖原方法,会导致原方法失效(不建议) 4、多个分类实现类同一个方法,会按照编译顺序,分类编译顺序在项目-》build phases-》compile sources中查看 新建文件,选择cocoa下oc category,category on填写要扩充的类 @interface 类名(分类名) @end @implementation 类名(分类名) @ ...

更改xcode项目模板

    博客分类:
  • ios
应用程序中,找到xcode.app右击显示包内容下 Contents/Developer/Library/Xcode/Templates路径下找到相应的对plist文件进行修改
oc构造函数 //new方法做了如下两件事,一般开发比较少用new,因为分配空间不能选择其他方式初始化 Person *p = [Person new]; //1、调用+alloc分配存储空间 Person *p1 = [Person alloc]; //2、调用-init进行初始化 Person p2 = [p1 init]; //Person *p3 = [[Person alloc] init];合起来写  构造方法用来初始化对象的方法,因此init方法为构造方法。初始化后成员变量值为0。 //重写-init方法,可以对成员变量赋值,因为子类返回类型不确定(多态),因 ...

Day8 oc弱语法

    博客分类:
  • ios
oc弱语法 oc的方法调用是在运行时才会检测对象有没有实现相应的方法 #import <Foundation/Foundation.h> //@interface Person:NSObject //@end //此处加了:NSObject @implementation Person:NSObject - (void)test { NSLog(@"test"); } @end int main() { Person *p=[Person new]; [p test]; r ...
Global site tag (gtag.js) - Google Analytics