08 2016 档案

摘要:UIEvent and UITouch UIEvent的传递 关于hit-testing 关于Responder Chain Gesture Recognizers 使用 触碰事件的传递路径 改变Touch传递到view的方式 手势识别过程 UIControl Event UIEvent的传递 关于 阅读全文
posted @ 2016-08-26 01:32 苏苏苏紫Sue 阅读(277) 评论(0) 推荐(0)
摘要:设备方向界面方向tipUITraitCollection相关枚举UIUserInterfaceIdiomUIUserInterfaceSizeClassUITraitEnvironment协议UIContentContainer协议Size Class和IBiOS开发中的方向包含两个:设备方向(Device orientation),界面方向(Interface orientation)设备方向也... 阅读全文
posted @ 2016-08-21 17:51 苏苏苏紫Sue 阅读(347) 评论(1) 推荐(0)
摘要:RSS阅读器(Really Simple Syndication)是一种软件/程序,实质都是为了方便地读取RSS和Atom文档。大概就是实现了订阅式阅读,推送用户感兴趣的新闻,博客等(比如等某位博主更博时会收到通知)。据说当下流行的RSS阅读器有Feedly,Newsify 和 Inoreader。feedly感觉他们家的东西都好寡淡APP基本没看到啥彩色的说导入Ompl文件产品相关网页如下... 阅读全文
posted @ 2016-08-20 01:22 苏苏苏紫Sue 阅读(600) 评论(0) 推荐(0)
摘要:题目小明同学把1到n这n个数字按照一定的顺序放入了一个队列Q中。现在他对队列Q执行了如下程序:while(!Q.empty()) //队列不空,执行循环 { int x=Q.front(); //取出当前队头的值x Q.pop(); //弹出当前队头 Q.push(x);... 阅读全文
posted @ 2016-08-19 17:43 苏苏苏紫Sue 阅读(592) 评论(0) 推荐(0)
摘要:洗牌在生活中十分常见,现在需要写一个程序模拟洗牌的过程。现在需要洗2n张牌,从上到下依次是第1张,第2张,第3张一直到第2n张。首先,我们把这2n张牌分成两堆,左手拿着第1张到第n张(上半堆),右手拿着第n+1张到第2n张(下半堆)。接着就开始洗牌的过程,先放下右手的最后一张牌,再放下左手的最后一张牌,接着放下右手的倒数第二张牌,再放下左手的倒数第二张牌,直到最后放下左手的第一张牌。接着把牌合并起... 阅读全文
posted @ 2016-08-19 17:39 苏苏苏紫Sue 阅读(390) 评论(0) 推荐(0)
摘要:+ (instancetype)createSark { return [self new];}// callerSark *sark = [Sark createSark];编译器改写成了形如下面的代码:+ (instancetype)createSark { id tmp = [self new]; return objc_autoreleaseReturnValue(tmp... 阅读全文
posted @ 2016-08-15 10:32 苏苏苏紫Sue 阅读(535) 评论(0) 推荐(0)
摘要:深复制vs.浅复制C++中的复制tipOC的复制集合的复制不可变集合可变集合tipSwift中的复制pyhton中的复制C#中的复制MemberwiseClone实现完全深复制深复制vs.浅复制浅复制:复制中把成员指针变量当成“指针”处理,赋值后两个指针指向相同的内存深复制:复制中把指针成员变量当成“值”处理,赋值后指针指向对象副本(即两个指针指向的内存不同,但内存中内容相同)C++中的复制C++... 阅读全文
posted @ 2016-08-13 15:37 苏苏苏紫Sue 阅读(239) 评论(0) 推荐(0)
摘要:概述使用派生类作为模板参数特化基类。与多态的区别多态是动态绑定(运行时绑定),CRTP是静态绑定(编译时绑定)在实现多态时,需要重写虚函数,因而这是运行时绑定的操作。CRTP在编译期确定通过基类来得到派生类的行为,它通过派生类覆盖基类成员函数来实现静态绑定的。例子1说明:父类调用直接子类函数的方法:静态函数成员:this 指针不可见,而对于某一个实例化的继承层次来说,只有一个静态类,因此使用Der... 阅读全文
posted @ 2016-08-12 13:29 苏苏苏紫Sue 阅读(4302) 评论(0) 推荐(1)
摘要:懒汉模式lazy load,只有在使用的时候才会进行初始化class CSingleton { private: CSingleton(){} static CSingleton *m_pInstance; public: static CSingleton * GetInstance() { if(m_pInstance == NULL) ... 阅读全文
posted @ 2016-08-12 12:29 苏苏苏紫Sue 阅读(235) 评论(0) 推荐(0)
摘要:CreatingCreating a custom input source involves defining the following:The information you want your input source to process.A scheduler routine to let interested clients know how to contact your inpu... 阅读全文
posted @ 2016-08-09 09:50 苏苏苏紫Sue 阅读(261) 评论(0) 推荐(0)
摘要:类关系 基类 第一层子类 第二层子类 子类重要数据 SimpleRefCount EventImpl bool m_cancel 无 EventId Object Scheduler MapScheduler EventKey,Event 无 Simulator Object SimulatorIm 阅读全文
posted @ 2016-08-08 09:05 苏苏苏紫Sue 阅读(167) 评论(0) 推荐(0)
摘要:特别注意 即使ptr指针为空(也就是传统意义上的等于0),还是能通过该指针调用类的某个函数(只要不设计类的数据的访问就不会报错,如果函数设计类对象数据的访问,提示段错误) 因此良好的编程习惯应该是检查所得到的Ptr是否为空,再通过其调用类对象的函数 Ptr<ExamAlmc> pAlmc 阅读全文
posted @ 2016-08-08 08:48 苏苏苏紫Sue 阅读(326) 评论(0) 推荐(0)
摘要:1. simple-ref-count 递归模板,使得通过定义T:SimpleRefCount<T>使得T类都具有计数功能 2.Ptr Ptr类默认数据成员T类型的指针自带引用计数功能(一般是simple-ref-count的子类) 3.TypeTraits类 用于将某一种类型定性(通过typede 阅读全文
posted @ 2016-08-08 08:44 苏苏苏紫Sue 阅读(665) 评论(0) 推荐(0)
摘要:Callback.h继承层次CallBack实现类基类第一层子类第二层子类第三层子类SimpleRefCountCallbackImplBaseCallbackImplFunctorCallbackImplMemPtrCallbackImplBoundFunctorCallbackImplTwoBoundFunctorCallbackImplThreeBoundFunctorCallbackImp... 阅读全文
posted @ 2016-08-08 08:40 苏苏苏紫Sue 阅读(788) 评论(0) 推荐(0)
摘要:IidInformation结构数据类型名字stringnameTypeId::hash_thashuint16_tparentstringgroupNamesize_tsizeboolhasConstructorCallbackconstructorboolmustHideFromDocumentationvectorattributesvectortraceSourcesIidManager中... 阅读全文
posted @ 2016-08-08 08:33 苏苏苏紫Sue 阅读(239) 评论(0) 推荐(0)
摘要:相关结构体与函数__block_impl存储block对应类型信息(属于哪个Block大类,以及对应的回调函数指针FuncPtrstruct __block_impl { void *isa; int Flags; int Reserved; void *FuncPtr;};struct __xxx_block_desc_xxxx描述针对某个特定的block信息__xxx_block_im... 阅读全文
posted @ 2016-08-07 00:57 苏苏苏紫Sue 阅读(226) 评论(0) 推荐(0)
摘要:鉴于Block与函数的相似性,先从返回函数指针的函数入手返回函数指针的函数int fun1(int arg){ return arg + 1;}int fun2(int arg){ return arg + 100;}int(*generateFun(const char *name))(int){ if (name == "fun1") return fun1; ... 阅读全文
posted @ 2016-08-06 23:26 苏苏苏紫Sue 阅读(286) 评论(0) 推荐(0)
摘要:话题从sunnyxx的《黑幕背后的Autorelease》开始文章开头有个小例子__weak id reference = nil;- (void)viewDidLoad { [super viewDidLoad]; NSString *str = [NSString stringWithFormat:@"sunnyxx"]; // str是一个autorelease对象,设置一... 阅读全文
posted @ 2016-08-06 12:01 苏苏苏紫Sue 阅读(1264) 评论(0) 推荐(0)
摘要:ARC有效时,id类型必须加上所有权修饰符下面为三种等效的声明,为了便于和二级指针的情况联系起来,采用第一种。 NSError * __weak error = nil; NSError __weak *error = nil; __weak NSError *error = @"hehe";所有权修饰符__strong默认修饰符,修饰的变量的默认值为nil。当需要释放强引用指向的对象时,需要将... 阅读全文
posted @ 2016-08-04 19:24 苏苏苏紫Sue 阅读(436) 评论(0) 推荐(0)
摘要:MAC中装好 mysql 5.7.11 osx10.10 x86_64.dmg 与 mysql workbench community 6.3.7 osx x86_64.dmg之后。如果忘记密码,在连接的时候提示如下错误 & 39;Access denied for user & 39;root& 阅读全文
posted @ 2016-08-03 00:28 苏苏苏紫Sue 阅读(180) 评论(0) 推荐(0)
摘要:case1一个整形数组中除了一个数字之外,其他数字都出现了两次,请找出这个数。要求时间复杂度O(n),空间复杂度O(1).思路:关键词:一次,两次。出现两次会带来什么效果?联想到异或,一个数与自身异或结果为零。解法:将数组中所有的数异或起来,出现两次的数相互抵消,最后的结果就是只出现一次的数。case2一个整形数组中除了两个数字之外,其他数字都出现了两次,请找出这个数。要求时间复杂度O(n),空间... 阅读全文
posted @ 2016-08-01 16:17 苏苏苏紫Sue 阅读(762) 评论(0) 推荐(0)
摘要:MVC的一些今天把MVC复习了下,包括官方文档以及各种中文博客。官方文档里面最能说明的问题的图片,相对于传统的MVC,苹果分离了View和Model之间的通信,实现了更好的复用性。我觉得MVC更是一种高层的设计架构,而非很多博客上所谓的设计模式。在复习这个的时候,再一次发现了设计模式的用武之地。。还有一张斯坦福大学的很有用的图,也一目了然地分析了MVC彼此的交流。。MVC很强大,但是弊端也有。... 阅读全文
posted @ 2016-08-01 01:06 苏苏苏紫Sue 阅读(165) 评论(0) 推荐(0)