iOS 基础 (一)

//UIButton->UIControl->UIView
//UIControl:所有带有事件操作的控件都会继承于UIControl


//*UIImageView会按照自己的大小展示图片,图片会被拉伸或压缩*//


//rootViewController:将控制器管理的view加载到window层上
    self.window.rootViewController = vc;


//创建view的方法,如果我们不自动创建view,必须回调loadView的方法,这样系统会自动创建一个view
//只有view创建结束,控制器才会开始加载视图
- (void)loadView{
    [super loadView];
    
    //手动创建view
//    self.view = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
//    self.view.backgroundColor = [UIColor redColor];
    
    NSLog(@"loadView");
}
/iewDidLoad:当self.view创建完成时,执行此方法;在这个方法里进行视图的创建(创建UI界面)
//相当页面的起点
/*
     viewDidLoad  进行数据,视图的创建及加载
     */
/lf.view默认的tag值为0,我们自己创建的视图的tag值不能为0
/*
 loadView和viewDidLoad 在页面不销毁的情况下,只会执行一次
 */
- (void)viewDidLoad {
    [super viewDidLoad];
}


- (void)buttonClick:(UIButton *)button{
    //1、获取之前创建label
    UILabel *label = (UILabel *)[self.view viewWithTag:1000];
    //2、静态的变量:
   static int i = 0;
//    ++i;
    //3、更改文字
    label.text = [NSString stringWithFormat:@"按钮被点击了%d次",++i];
}
//这里面static int i = 0;这行代码会先在编译阶段只编译一次,之后不会再走这行代码 。每次点击按钮,i会进行累加。静态变量的好处


- (void)btnClick:(UIButton *)sender {
}
关于后面的参数问题?










terminate 终结


常见报错:
- [Person test]: unrecognized selector sent to instance 0x7fd2ca097c0
给Person对象发送了一个不能识别的消息:text   并且是减号对象方法




什么是控件?
什么是封装?
弱语法?




概念:
工具类:基本没有任何成员变量,里面的方法基本都是类方法






断点调试,代码段保存,注释标记#program mark - UIView,多文件查看




1.点语法的本质是方法调用
例如:
{
 int _age;
}
p.age = 10;会自动调用[p setAge:10];   不是访问成员变量,况且现在成员变量只有下划线age,_age




@interface
{
成员变量
 }
@public 在任何地方都能直接访问对象的成员变量   (_age = 1;这是直接访问)
@private只能在当前类的对象方法中直接访问         其子类只能通过setter和getter方法访问
@protected 能在当前类和其子类的对象方法中直接访问    
@package 只要处在同一个框架中,就能直接访问对象的成员变量 


@implementation 
{
成员变量   这里声明默认就是私有的@private
}


@property声明的属性 是实例变量加setter和getter方法组合。其中实例变量如果存在则不会自动生成,如果不存在,就自动生成,并且自动生成@private类型的实例变量(或叫做成员变量)(如_age)
默认情况下,setter和getter方法中的实现会去访问下划线开头的成员变量(实例变量)


自从Xcode4.4之后,@property独揽了@synthesize的功能




%@  返回的是一个NSString指针,用来输出字符串。
%s  用于输出字符串数组。


类  (class):表示对象类型的集合体。
  对象  (object):是一种包含值和指向其类的隐藏指针的结构体。
  实例  (instance):对象的另一种称呼。
  消息  (message):对象可以执行的操作,成员函数,实例方法的抽象名称。
  方法  (method):为响应消息而运行的代码。
//实例化:开辟空间并初始化
_userArray=[[NSMutableArray alloc] init];
//实例: instance    对象的另一种称呼


//输出屏幕的尺寸   NSStringFromCGRect(size)
    CGRect size = self.view.frame;
    NSLog(@"size == %@",NSStringFromCGRect(size));
NSArray  自然顺序
NSSet 是无序的   注意:NSSet中不能存储重复的数据,可以用它来去除重复的值
NSSet *set = [[NSSet alloc]initWithObjects:str1,str2,str3,str1,nil];
此时set中只有3个




userInteractionEnabled
//只有UILabel和UIImageView的userInteractionEnabled默认为NO,其他默认YES
 //userInteractionEnabled为YES时,本身view可以接受用户响应,而且,它上面的子视图也可以接受用户响应,如果父视图不接受用户响应,它上面的子视图也不能参与用户响应
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值