IOS学习笔记-0001

时间:2022-11-14 13:35:48
-只在.m文件中实现而没有在.h文件中定义的方法是私有方法


-系统自带的静态方法一般都是“自动释放”的


-收起键盘 [self.view endEditing:YES]


- UIImage *img=[UIImage imageNamed:name];//(有缓存--无法释放,参数传的是文件名)加载图片--有缓存--图片经常用,不需要释放时使用


-[UIImage alloc]initWithContentsOfFile:]//(无缓存--用完就会释放,参数传的是全路径)


-bundle:nil (参数时)默认就是NSBundle mainBundle


-MAXFLOAT 宏


-UI控件用weak,Nsstring用copy,其它对象一般用strong  ,int-assign


-使用storyboard要去掉“use autolayout”和“size”选择“3.5英寸的屏幕”


-label默认只显示一行,要想自动换行,设置XXX=0


-arr=[NSMutableArray array];//创建可变数组


-“%02d”两位,空出的位置用0来填充


-使用storyboard时需要将class设置为对应的controller[启动]


-加载plist数据
NSArray *arr=[NSArray arrayWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"news.plist" ofType:nil]];
for (NSDictionary *dic in arr) {
        [_news addObject:[News newsWithDictionary:dic]];
    }


-加载xib
(方法1)
NSArray *objects=[[NSBundle mainBundle]loadNibNamed:@"NewsCell" owner:nil options:nil];
        cell=objects[0];
(方法2)
     UINib *nib=[UINib nibWithNibName:@"NewsCell" bundle:[NSBundle mainBundle]];
        NSArray *objects=[nib instantiateWithOwner:nil options:nil];
        cell=objects[0];


【tableView】
-数据源
-协议、代理
-1组数
-2每组显示行数
-3每个cell显示的内容
{
    //重用标示符
    //1.从缓存池中取出可循环利用的cell
    UITableViewCell *cell=[tableView dequeueReusableCellWithIdentifier:@"cell"];
    //2.如果缓存池中没有可循环利用的cell则创建
    if(nil==cell)
    {
        cell=[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"cell"];
    }
}


-UITableViewCellStyleSubtitle
-cell.accessoryType:设置最右边显示的小图标
-cell.accessoryView:设置最右边显示的控件


【scrollView】


-contentSize属性(滚动范围 
 )


【init】 构造函数返回id类型
#import "Shop.h"


@implementation Shop
-(id)initWithIcon:(NSString *)icon name:(NSString *)name desc:(NSString *)desc
{
    if(self=[super init])
    {
        self.icon=icon;
        self.name=name;
        self.desc=desc;
    }
    return self;
}


+(Shop *)shopWithIcon:(NSString *)icon name:(NSString *)name desc:(NSString *)desc
{
    return [[self alloc]initWithIcon:icon name:name desc:desc];
}
@end