Children *child = [[Children alloc] init];
mama.ch = child; //child是指向并存放children对象的指针,ch是Mom类中定义的指向children类的指针,这句话是将ch指向children的对象,方便mama与child传参
@property (nonatomic,assign)int reValue; //要将第一个页面的value值传到第二个页面,在第二个页面定义一个属性
second.reValue = _value; //把第一个页面的成员变量(参数)赋给第二个页面的属性,传入第二个页面
AppDelegate :
self.window.rootViewController = first;
1. 要将 页面1(obj1)的 参数值1 传到 页面2(obj2),可以在 页面2 定义一个属性,并在 页面1 中创建 页面2 的对象,再将obj1的参数值1赋给 obj2 . 属性: second.reValue = _value;
UIViewController生命周期:
alloc/init ---> loadView ---> viewDidLoad ---> viewWillAppear ---> viewDidAppear ---> viewWillDisappear ---> viewDidDisappear ---> dealloc
loadView不需要手动调用,如果想要自定义self.view的话,只有一次机会,在loadView里定义。
default initializer:默认初始化器
designated initializer:指定的初始化器
创建一个类的对象时,一定会调用它们的默认初始化器或者指定初始化器进行初始化
遇到self.view.__ (第一次会用getter方法获取self.view) :
self.view是在第一次使用getter的时候创建的
以后再调用getter方法的时候就会返回第一次创建的view对象
OC中传参数是按值传递,将参数A传入方法B中( A' ),在B中改变 A ' 的值,外部的A的值不会改变;如果取的是地址
,改变 A' 的地址时,A的地址也会改变。
int a = 300;
int *pA = &a;
*pA = 300;
模态视图是异步操作:
[self presentViewController:first animated:YES completion:^{ //8
NSLog(@"lalalala");
}];
NSLog(@"---"); //会先执行这条语句
数据传输可以通过 定义属性、创建方法。。
协议是用来限制指针的,可以用协议里面的方法来实现传参。。
所有的控件或者视图如果想要显示,需要先addSubview到一个以及显示的视图上
[xxx addSubview: secondCtrl.view];
在UIImageView上添加按钮时需设定:
imageView.userInteractionEnabled = YES;//默认为NO
页面按钮,整页面:
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *)response; //返回响应
if (httpResponse.statusCode == 200) {
[data writeToFile:@"/Users/apple/Desktop/test.png" atomically:YES];
} //若返回的是200(请求成功),写入文件
iOS里面,与界面相关的方法/功能,必须运行在主线程里
< NSURLConnectionDataDelegate>
NSURLConnection协议:
1. 先接受到响应信息,能够知道等下接受的数据是什么样的
2. 分次接受数据,只会分段,不会一次性接受
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
3. 下载完成
- (void)connectionDidFinishLoading:(NSURLConnection *)connection
4. 只有出错才会到这里
- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error
易错:
没有返回值。。
NSString *path = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"txt"];
[NSBundle mainBundle]是主包,意思是在工程目录下寻找文件。。。所以实现这个方法必须先将文件拖入工程下。。。