摘要:
分析: OC中对象的init方法有两种: 指定初始化器(Designated Initializers )、便利初始化器(Convenience Initializers) Designated Initializers能保证初始化所有需要初始化的数据,RD需要自己保证,可能有多个不同方法,代表从不 阅读全文
摘要:
UINavigationController: 里面有个viewControllers属性,是个栈(NSArray,lastObject为顶)存储VC。栈顶就是当前展示的页面。 uiNavigationController类似flutter的Navigator,保存了页面栈,方法为pushviewC 阅读全文
摘要:
UIPanGestureRecognizer负责拖动手势。 #import "MyView.h" @interface MyView() //@property(assign, nonatomic) CGPoint startTouchPosition; @property(assign, nona 阅读全文
摘要:
OC由于是C的超集,所以可以直接用enum来声明枚举。 但如果想要使用NSInteger作为enum的底层类型。 需要两步:声明枚举enum,再typedef。 使用NS_ENUM直接一步搞定。 // // main.m // Hello Objective-C // // Created by a 阅读全文
摘要:
OC的==只能用来判断基本数据类型,如果用来判断其他类型,实际比较的是内存地址(显然不同对象用==比较一定会返回false);由于不像C++有运算符重载,OC中使用isEqual来判断两个对象的内部值是否相同。 注意,默认isEqual和==是一样的,对于NS对象都是比较内存地址(对于非NS对象当然 阅读全文
摘要:
所谓指定初始化方法一般是参数最多、最齐全的那个init方法,通过它可以指定该类所有的实例变量(成员变量)的值。 而其它初始化方法会调用指定初始化方法,某些参数可能会使用默认值。 如: @interface ClassA : NSObject - (instancetype)initWithInt:( 阅读全文
摘要:
// // AppDelegate.m // wzy_ios_demo // // Created by admin on 2020/12/8. // #import "AppDelegate.h" @interface AppDelegate () @end @implementation App 阅读全文
摘要:
// // AppDelegate.m // wzy_ios_demo // // Created by admin on 2020/12/8. // #import "AppDelegate.h" #import "MyUiView.h" #import "ViewController.h" @i 阅读全文
摘要:
appdelegate.m: // // AppDelegate.m // wzy_ios_demo // // Created by admin on 2020/12/8. // #import "AppDelegate.h" #import "MyUiView.h" #import "ViewC 阅读全文
摘要:
看了一周的OC语法,准备正式上手,写个最简单的iOS页面试试,结果一路遇到一堆大坑。。 用Xcode12创立一个空的iOS APP项目,目录是这样的: 其中MYUIView .h和.m文件是我创建的,其他文件是Xcode自动创建的。 各文件意义大致是这样: 入口在main.m,含义是直接调用委托, 阅读全文