【1】先代码创建plist文件
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
// insert code here...
NSArray *dataArr = @[
@{@"name":@"单肩包", @"icon":@"danjianbao"},
@{@"name":@"钱包", @"icon":@"qianbao"},
@{@"name":@"链条包", @"icon":@"liantiaobao"},
@{@"name":@"手提包", @"icon":@"shoutibao"},
@{@"name":@"双肩包", @"icon":@"shuangjianbao"},
@{@"name":@"斜挎包", @"icon":@"xiekuabao"}];
BOOL flag = [dataArr writeToFile:@"/Users/cdj/DavidLong/program_iphone/Learning/ShoppingCartCreatPlist/ShoppingCartCreatPlist/shopData.plist" atomically:YES];
if (flag) {
NSLog(@"写入成功");
}
}
return 0;
}
【2】将plist文件放入到SupportingFiles中,然后读取使用
#import "ViewController.h"
@interface ViewController ()
@property (weak, nonatomic) IBOutlet UIView *shopCarView;
@property (weak, nonatomic) IBOutlet UIButton *addButton;
@property (weak, nonatomic) IBOutlet UIButton *removeButton;
@property (nonatomic, strong) NSArray *gDataArr;
@end
@implementation ViewController
-(NSArray *)gDataArr{
if(_gDataArr == nil){
// 加载数据
// 1获取全路径
NSString *dataPath = [[NSBundle mainBundle] pathForResource:@"shopData.plist" ofType:nil];
self.gDataArr = [NSArray arrayWithContentsOfFile:dataPath];
}
return _gDataArr;
}
- (void)viewDidLoad {
[super viewDidLoad];
}
//添加到购物车
- (IBAction)add:(UIButton *)button {
// 1.总列数
NSInteger allCols = 3;
// 2.商品的宽度
CGFloat width = 80;
CGFloat height = 100;
// 3.求水平间距
CGFloat hMargin = (self.shopCarView.frame.size.width - allCols * width)/(allCols -1);
CGFloat vMargin = (self.shopCarView.frame.size.height - 2 * height)/1;
// 4.用subview的个数代替索引
NSInteger index = self.shopCarView.subviews.count;
// 4.求出x值
CGFloat x = (hMargin + width) * (index % allCols);
CGFloat y = (vMargin + height) * (index / allCols);
// 5创建商品的view
UIView *shopView = [[UIView alloc] init];
shopView.frame = CGRectMake(x, y, width, height);
shopView.backgroundColor = [UIColor greenColor];
[self.shopCarView addSubview:shopView];
// 6创建商品的UIImageView对象
UIImageView *iconView = [[UIImageView alloc] init];
iconView.frame = CGRectMake(0, 0, width, width);
iconView.backgroundColor = [UIColor purpleColor];
[shopView addSubview:iconView];
// 7创建商品的label对象
UILabel *titleLabel = [[UILabel alloc] init];
titleLabel.frame = CGRectMake(0, width, width, height - width);
titleLabel.backgroundColor = [UIColor yellowColor];
titleLabel.textAlignment = NSTextAlignmentCenter;
[shopView addSubview:titleLabel];
// 8设置数据
NSDictionary *dict = self.gDataArr[index];
iconView.image = [UIImage imageNamed:dict[@"icon"]];
titleLabel.text = dict[@"name"];
// 设置按钮的状态
if (index == 5) {
button.enabled = NO;
}
// 删除按钮的状态
self.removeButton.enabled = YES;
}
//从购物车移除
- (IBAction)remove:(UIButton *)button {
// 1删除最后一个商品
UIView *lastShowView = [self.shopCarView.subviews lastObject];
[lastShowView removeFromSuperview];
// 2设置索引的值
self.addButton.enabled = YES;
if (self.shopCarView.subviews.count == 0) {
self.removeButton.enabled = NO;
}
}
@end