解决方案 »
- objC中变量申明以及使用的问题
- objectiv-c语言有没有标准?
- 一个诡异的问题
- iPhone闹钟的问题?
- navigationbar在导航时按钮有闪烁的感觉?
- 求助:ios sdk中可有禁止多重按键的API
- ios开发navigationController pushViewController 方式跳转 怎么返回到最上层
- 送福利! Swift语言学习资料汇总
- 使用个推打包后收不到透传消息
- iphone 怎么写一个软件 知道连接的wifi密码
- IOS NSNotificationCenter问题
- 连接app store返回Failure to list the Productszenm
tableView.delegate = self;
//tableView.backgroundColor = [UIColor blackColor];
tableView.backgroundView = [[UIView alloc] initWithFrame:CGRectMake(0, 50, 320, 430)];
self.tableView = tableView;
[self.tableView addSubview:searchBar];如果是继承自UITableViewController, self.tableView是已经实例好的。
@property (nonatomic,strong) NSArray *name;在访问或赋值时,使用self.name 的方式来使用。属性的默认getter,setter方法会帮助你来管理内存。
我没有两个tableview吧 只是一个tableview两个方法添加 一个是tableviewcontroller.tableview = tableview, 另一个是[tableviewcontroller.view addsubview:tableview]; 这两个tableview方法我没同时用啊.
的确是name的内存问题 有人教我把_name = [name retain];这样就没问题了 可是我不明白这里为什么要引用加1?
我定义的全局是@property (nonatomic, retain) NSArray *name;
当我 _name = name的时候name引用不是已经+1了么?
的确是name的内存问题 有人教我把_name = [name retain];这样就没问题了 可是我不明白这里为什么要引用加1?
我定义的全局是@property (nonatomic, retain) NSArray *name;
当我 _name = name的时候name引用不是已经+1了么?
使用_name访问的是成员变量,没有进行内存管理。使用self.name 是访问属性的getter,setter 方法。编译器会帮助生成属性的getter,setter,它内部的setter方法实现应该是这样:
-(void)setName:(NSString *)name {
[_name release];
_name = name;
[_name retain];
}
使用_name, self.name 访问它们之间是不同的,区别是明显的。self.name是调用的setter方法,该方法内部对内存进行了管理。