摘要:
// // main.m // Block的应用场景 // typedef void (^workBlock)(); #import /* void goToWorkPrefix() { NSLog(@"起床"); NSLog(@"穿衣服"); NSLog(@"洗漱"); NSLog(@"喝早茶"); NSLog(@"驾车去上班"); } void goToWork... 阅读全文
posted @ 2017-08-26 21:05
无天666
阅读(260)
评论(0)
推荐(0)
摘要:
// // main.m // Block基本使用:一种数据类型,应用在动画,多线程,集合遍历,网络请求回调。 // 用来保存一段代码,在恰当的时候拿出来调用。功能类似于函数。函数不能嵌套定义,block可以, // 函数指针和block是一样的,相当于代码指针。 #import void printRose(int num) { for (int i = 0; i ... 阅读全文
posted @ 2017-08-26 21:04
无天666
阅读(236)
评论(0)
推荐(0)
摘要:
// main.m // Category练习 #import #import "NSString+NJ.h" //看不到NSString的.h文件。 /* int countWithStr(NSString *str) { int count = 0; for (int i = 0; i = '0' && c = '0' && c @interface NS... 阅读全文
posted @ 2017-08-26 19:51
无天666
阅读(235)
评论(0)
推荐(0)
摘要:
// // main.m // 匿名分类(延展) // 可以为某个类扩展私有的成员变量和方法,写在.m文件中, // 分类不可以扩展属性,分类有名字,匿名分类没有名字。 #import #import "Person.h" int main(int argc, const char * argv[]) { Person *p = [Person new]; ... 阅读全文
posted @ 2017-08-26 19:28
无天666
阅读(695)
评论(0)
推荐(0)
摘要:
// // main.m // Category注意事项 #import #import "Person+NJ.h" int main(int argc, const char * argv[]) { Person *p = [Person new]; // p.height = 1.75; [p say]; return 0; } // ... 阅读全文
posted @ 2017-08-26 19:16
无天666
阅读(246)
评论(0)
推荐(0)
摘要:
// // main.m // Category基本使用:1.不修改类而扩充类。2.对于一个庞大的类,分模块开发。 #import #import "Person.h" #import "Person+NJ.h" /* 方法: 方法的声明: 方法的实现: 所以: 通过分类给某一个类扩充方法, 也分为声明和实现两个部分 // 分类的声明 @interface Clas... 阅读全文
posted @ 2017-08-26 18:09
无天666
阅读(233)
评论(0)
推荐(0)
摘要:
ARC中的string,相当于MRC中的retain ARC中的weak,相当于MRC中的assign ARC中的assign,用于基本数据类型,跟MRC中的assign一样。 阅读全文
posted @ 2017-08-26 15:14
无天666
阅读(211)
评论(0)
推荐(0)
摘要:
// Person.h #import @interface Person : NSObject @end // Person.m #import "Person.h" @implementation Person - (void)dealloc { NSLog(@"%s", __func__); // [super dealloc]; /... 阅读全文
posted @ 2017-08-26 14:25
无天666
阅读(227)
评论(0)
推荐(0)

浙公网安备 33010602011771号