摘要: 对于iPhone app,UIViewController类提供了基本的视图管理模式。当设备改变方向的时候view controller的视图会自动随之旋转的。如果视图和子视图的autoresizing属性设置是对的,这时候视图又没有随着设备一起旋转,可能是以下的原因:1.view controll... 阅读全文
posted @ 2015-10-10 18:16 上官元空 阅读(238) 评论(0) 推荐(0)
摘要: 设置成NO表示当前控件响应后会传播到其他控件上,默认为YES。 tapGestureRecognizer.cancelsTouchesInView = NO; 阅读全文
posted @ 2015-10-10 18:16 上官元空 阅读(136) 评论(0) 推荐(0)
摘要: UIInterfaceOrientationUnknown = UIDeviceOrientationUnknown, 界面取向未知 UIInterfaceOrientationPortrait = UIDeviceOrientationPortrait, 正常的肖像模式 就是向上 UIInterf... 阅读全文
posted @ 2015-10-10 18:15 上官元空 阅读(393) 评论(0) 推荐(0)
摘要: 1. 上传自己新建的文件新建的类文件 后面的 会有A标示要先 Add To Working copy 再点击提交2. 上传第三方库时 默认SVN是忽略.a文件的要找到.a文件把他设置成不是忽略的通过(commond + shift + i) 组合键 把.a 设置成不是忽略的 。然后右键 点击Add ... 阅读全文
posted @ 2015-10-10 18:14 上官元空 阅读(354) 评论(0) 推荐(0)
摘要: 'A'新增'D'删除'M'修改'R'替代'C'冲突'I'忽略'?'未受控'!'丢失,一般是将受控文件直接删除导致 阅读全文
posted @ 2015-10-10 18:13 上官元空 阅读(141) 评论(0) 推荐(0)
摘要: NSArray *doc = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *path = [doc[0] stringByAppendingPathComponen... 阅读全文
posted @ 2015-10-10 18:12 上官元空 阅读(147) 评论(0) 推荐(0)
摘要: command+3 command+4 阅读全文
posted @ 2015-10-10 18:12 上官元空 阅读(107) 评论(0) 推荐(0)
摘要: /*预定义字符属性的文本。如果钥匙不在字典,然后使用默认值,如下所述。 */以下属性是IOS6的NSVerticalGlyphFormAttributeName NS_AVAILABLE_IOS(6_0); 一个NSNumber包含一个整数的值。0表示水平文本。1表示垂直文本。如果没有指定,它可以按... 阅读全文
posted @ 2015-10-10 18:12 上官元空 阅读(187) 评论(0) 推荐(0)
摘要: SDWebImage中的一些参数:*SDWebImageRetryFailed = 1<< 0, 默认选项,失败后重试*SDWebImageLowPriority = 1<< 1, 使用低优先级*SDWebImageCacheMemoryOnly = 1<< 2, 仅仅使用内存缓存*SDWebIm... 阅读全文
posted @ 2015-10-10 18:11 上官元空 阅读(162) 评论(0) 推荐(0)
摘要: -(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{ UITouch *touch = [touches anyObject]; CGPoint point = [touch locationInView:self.view... 阅读全文
posted @ 2015-10-10 18:11 上官元空 阅读(401) 评论(0) 推荐(0)
摘要: //解决scrollView上面的 tableView 滑动冲突 设置一下连个属性 来个控件的滑动事件就不会冲突了[scr setDelaysContentTouches:NO]; [scr setCanCancelContentTouches:NO];//根据indexPath 来获取cellUI... 阅读全文
posted @ 2015-10-10 18:10 上官元空 阅读(175) 评论(0) 推荐(0)
摘要: [self.navigationController.navigationBar setBackgroundColor:[UIColor colorWithPatternImage:kHelper_Image(@"titlebar")]]; [self.navigationController.na... 阅读全文
posted @ 2015-10-10 18:09 上官元空 阅读(318) 评论(0) 推荐(0)
摘要: 向字典2对象中添加整个字典对象3[dic2 addEntriesFromDictionary:dic3]; /*----------创建字典----------------------*/ - (id) initWithObjectsAndKeys; NSDictionary *dict... 阅读全文
posted @ 2015-10-10 18:08 上官元空 阅读(337) 评论(0) 推荐(0)
摘要: - (unsigned) Count;数组所包含对象个数; NSLog(@"self.dataArray cound:%d",[self.dataArray count]); - (id) objectAtIndex: (unsigned int) index;获取指定索引处的对象; NSLo... 阅读全文
posted @ 2015-10-10 18:07 上官元空 阅读(156) 评论(0) 推荐(0)
摘要: NSString *Path = @"~/NSData.txt"; NSLog(@"Extension:%@",[Path pathExtension]); 阅读全文
posted @ 2015-10-10 18:05 上官元空 阅读(140) 评论(0) 推荐(0)
摘要: string的操作应用NSRange range = [self.general rangeOfString:@"."];NSString *str = [self.general substringToIndex:range.location];NSRange range1 = [str rang... 阅读全文
posted @ 2015-10-10 18:04 上官元空 阅读(164) 评论(0) 推荐(0)
摘要: NSString *Path = @"~/NSData.txt"; NSString *absolutePath = [Path stringByExpandingTildeInPath]; NSLog(@"absolutePath:%@",absolutePath); NSLog(@"Pat... 阅读全文
posted @ 2015-10-10 18:04 上官元空 阅读(220) 评论(0) 推荐(0)
摘要: 创建一个时间格式化对象 NSDateFormatter *datef = [[NSDateFormatter alloc] init]; 设定时间的格式 [datef setDateFormat:@"yyyy-MM-dd"]; 将字符串转换为时间对象NSDate *tempDate = [datef... 阅读全文
posted @ 2015-10-10 18:03 上官元空 阅读(178) 评论(0) 推荐(0)
摘要: 父视图产生缩放效果的代码[UIView beginAnimations:nil context:nil]; self.view.transform = CGAffineTransformScale(CGAffineTransformIdentity,0.8,0.8); self.view.cente... 阅读全文
posted @ 2015-10-10 18:03 上官元空 阅读(95) 评论(0) 推荐(0)
摘要: 0CGContextRef context = UIGraphicsGetCurrentContext(); 设置上下文
1 CGContextMoveToPoint 开始画线
2 CGContextAddLineToPoint 画直线 3 CGContextAddEllipseInRect 画一... 阅读全文
posted @ 2015-10-10 18:01 上官元空 阅读(190) 评论(0) 推荐(0)
摘要: CLLocationManager *locationManager = [[CLLocationManager alloc]init];locationManager.delegate = self;设置精确度 locationManager.desiredAccuracy = kCLLocati... 阅读全文
posted @ 2015-10-10 18:01 上官元空 阅读(154) 评论(0) 推荐(0)
摘要: 遵循的代理是:UIImagePickerControllerDelegate,UINavigationControllerDelegate实现的代理方法是:选了某一张照片后调用这个方法-(void)imagePickerController:(UIImagePickerController *)pi... 阅读全文
posted @ 2015-10-10 17:59 上官元空 阅读(118) 评论(0) 推荐(0)
摘要: 可以先把图片的源文件的名称后面加上@2x 这种图片显示不正常问题原因可能是没有二倍图造成的!! 阅读全文
posted @ 2015-10-10 17:58 上官元空 阅读(718) 评论(0) 推荐(0)
摘要: 隐藏返回按钮self.navigationItem.hidesBackButton = YES;设置导航的透明度self.navigationController.navigationBar.translucent = NO;设置导航条的背景颜色 好使杠杠的[[UINavigationBar app... 阅读全文
posted @ 2015-10-10 17:57 上官元空 阅读(147) 评论(0) 推荐(0)
摘要: - (void)initTabbar{ ZPayViewController *zpay = [[ZPayViewController alloc]init]; ButlerController *butler = [[ButlerController alloc]init]; Detail1Vie... 阅读全文
posted @ 2015-10-10 17:56 上官元空 阅读(143) 评论(0) 推荐(0)
摘要: 第一步,新建一个singleView的空白工程,如果新建,这里不做赘述了。第二步:因为地图开发相关的framework:MapKit.framework、CoreLocation.framework,至于如何添加,一般的ios相关博客都是有介绍。 在主界面的控制器ViewController.h文件... 阅读全文
posted @ 2015-10-10 17:56 上官元空 阅读(173) 评论(0) 推荐(0)
摘要: - (void)viewDidLoad { [super viewDidLoad]; // UICollectionView 的使用 // layout参数 // UICollectionViewLayout 是一个布局类, 作用是给collectionView的cell提供布局(安排位置, 设置大 阅读全文
posted @ 2015-10-10 17:55 上官元空 阅读(165) 评论(0) 推荐(0)
摘要: [UIApplication sharedApplication].networkActivityIndicatorVisible = YES 阅读全文
posted @ 2015-10-10 17:54 上官元空 阅读(113) 评论(0) 推荐(0)
摘要: CATextLayer *layer = [[CATextLayer alloc] init]; layer.frame = CGRectMake(0, 300, 100, 100); 字体模糊 layer.contentsScale = 10; 字体 layer.font = (__bridge ... 阅读全文
posted @ 2015-10-10 17:54 上官元空 阅读(162) 评论(0) 推荐(0)
摘要: 关于UItextField的LeftView属性 leftView属性赋值时 如果给两个textfield 同时设置这个属性 不能是同一个 View 如果是同一个View 这个页面就不能跳转 UIView *leftSpaceView = [[UIView alloc] initWithFram... 阅读全文
posted @ 2015-10-10 17:52 上官元空 阅读(155) 评论(0) 推荐(0)
摘要: - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ [_phoneNum resignFirstResponder]; _phoneNum.keyboardType = UIKeyboardTypeNumberPad; ... 阅读全文
posted @ 2015-10-10 17:51 上官元空 阅读(132) 评论(0) 推荐(0)
摘要: [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(changeTitle:) userInfo:nil repeats:YES]; 阅读全文
posted @ 2015-10-10 17:51 上官元空 阅读(86) 评论(0) 推荐(0)
摘要: self.webView = [[UIWebView alloc]initWithFrame:self.view.bounds]; self.webView.autoresizingMask = UIViewAutoresizingFlexibleHeight; [self.view addSubv... 阅读全文
posted @ 2015-10-10 17:50 上官元空 阅读(144) 评论(0) 推荐(0)
摘要: 将string字符串转换为array数组NSArray *array = [Str componentsSeparatedByString:@","];将array数组转换为string字符串NSString *tempString = [mutableArray componentsJoinedB... 阅读全文
posted @ 2015-10-10 17:49 上官元空 阅读(296) 评论(0) 推荐(0)
摘要: NSString *str = @"A~B^C";NSArray *arr = [str componentsSeparatedByCharactersInSet: [NSCharacterSet characterSetWithCharactersInString:@"^~"]]; 阅读全文
posted @ 2015-10-10 17:49 上官元空 阅读(427) 评论(0) 推荐(0)
摘要: NSString *text = [temptext stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]; 阅读全文
posted @ 2015-10-10 17:48 上官元空 阅读(147) 评论(0) 推荐(0)
摘要: NSString *temptext = [messageTextField.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];//去除两端的空格NSString *inputStr = [te... 阅读全文
posted @ 2015-10-10 17:47 上官元空 阅读(124) 评论(0) 推荐(0)
摘要: 我们在nsstring的分割,查找等操作中,经常会提供两种函数,参数类型分别为NSString 和NSCharacterset,有什么不同呢?NSString 是有序字符串NSCharacterset是无需字符集合,主要用来判断已知字符串是否包含制定字符集,而不可以用来保存字符串。 阅读全文
posted @ 2015-10-10 17:46 上官元空 阅读(117) 评论(0) 推荐(0)
摘要: 实例化header和footer _header = [MJRefreshHeaderView header]; _header.scrollView = _tableView; 设置header和footer的滚动视图为table _footer = [MJRefreshFooterView fo... 阅读全文
posted @ 2015-10-10 17:42 上官元空 阅读(359) 评论(0) 推荐(0)
摘要: 创建一个事件表格 UIActionSheet *as = [[UIActionSheet alloc]initWithTitle:nil delegate:self cancelButtonTitle:@"取消" destructiveButtonTitle:nil otherButtonTitle... 阅读全文
posted @ 2015-10-10 17:41 上官元空 阅读(109) 评论(0) 推荐(0)
摘要: UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"校验登录密码" message:@"" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil]; aler... 阅读全文
posted @ 2015-10-10 17:40 上官元空 阅读(204) 评论(0) 推荐(0)
摘要: SIAlertView是AlertView的替代产品 的效果比较多 。使用实例:SIAlertView *alertView = [[SIAlertView alloc] initWithTitle:@"" andMessage:@"选择实名认证的银行卡类型"]; [alertView addBut... 阅读全文
posted @ 2015-10-10 17:39 上官元空 阅读(260) 评论(0) 推荐(0)
摘要: ballLayer=[CALayer layer]; ballLayer.bounds = CGRectMake(0, 0, 138,113); ballLayer.position = CGPointMake(self.view.frame.size.width/2,self.view.frame... 阅读全文
posted @ 2015-10-10 17:38 上官元空 阅读(134) 评论(0) 推荐(0)
摘要: FMDB打印错误[db lasterrorMessage]创建数据库 -->sqlite3 zpp.db 创建叫zzp的数据库创建数据库里的表-->create table if not exists zzp1 (ID integer primary key autoincrement, Age i... 阅读全文
posted @ 2015-10-10 17:37 上官元空 阅读(133) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2015-10-10 17:36 上官元空 阅读(144) 评论(0) 推荐(0)
摘要: 当automaticallyAdjustsScrollViewInsets 为 YES 时,也是默认行为,表现就比较正常了,和edgesForExtendedLayout =UIRectEdgeNone 有啥区别? 不注意可能很难觉察设计师可能一眼就看穿。。。automaticallyAdjusts... 阅读全文
posted @ 2015-10-10 17:33 上官元空 阅读(352) 评论(0) 推荐(0)
摘要: 步骤1、在ViewController中loadView#if__IPHONE_OS_VERSION_MAX_ALLOWED>=70000if(IOS7_OR_LATER){self.edgesForExtendedLayout=UIRectEdgeNone;self.extendedLayoutI... 阅读全文
posted @ 2015-10-10 17:33 上官元空 阅读(210) 评论(0) 推荐(0)
摘要: 在IOS7以后 ViewController 开始使用全屏布局的,而且是默认的行为通常涉及到布局。就离不开这个属性edgesForExtendedLayout,它是一个类型为UIExtendedEdge的属性,指定边缘要延伸的方向,它的默认值很自然地是UIRectEdgeAll,四周边缘均延伸,就是... 阅读全文
posted @ 2015-10-10 17:32 上官元空 阅读(186) 评论(0) 推荐(0)
摘要: 设置自定义按钮的文字大小[submit.titleLabel setFont:[UIFont boldSystemFontOfSize:16]];设置按钮选中状态的颜色[btn setTintColor:[UIColor clearColor]];设置按钮文字内容的水平对齐方式btn setCont... 阅读全文
posted @ 2015-10-10 17:29 上官元空 阅读(380) 评论(0) 推荐(0)
摘要: 中文转码 str = [str stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 图片编码 NSData *data;NSData -->UIImage UIImage *image = [UIImage imageWi... 阅读全文
posted @ 2015-10-10 17:18 上官元空 阅读(208) 评论(0) 推荐(0)
摘要: 接收响应头content-Length content-Type- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response{ NSHTTPURLResponse* res ... 阅读全文
posted @ 2015-10-10 17:18 上官元空 阅读(247) 评论(0) 推荐(0)
摘要: 设置图片边界的颜色[_iconImage.layer setBorderColor:bolderColor.CGColor];设置图片边界的宽度[_iconImage.layer setBorderWidth:3]; 阅读全文
posted @ 2015-10-10 17:17 上官元空 阅读(213) 评论(0) 推荐(0)
摘要: 注意:接受通知要写在 viewDidLoad 方法里面取得系统全局的唯一广播站NSNotificationCenter *notification = [NSNotificationCenter defaultCenter];设置广播的名字和 参数等。。。[notification postNoti... 阅读全文
posted @ 2015-10-10 17:16 上官元空 阅读(192) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2015-10-10 17:16 上官元空 阅读(105) 评论(0) 推荐(0)
摘要: NO -------是自身View下面的按钮之类的能点YES------是View自身的按钮能点击,他下面的不能点击 阅读全文
posted @ 2015-10-10 17:14 上官元空 阅读(148) 评论(0) 推荐(0)
摘要: Viewcontroller 的所有生命周期函数 重写时 一定要先写 父类 方法 就是(super +生命周期函数)LoadViewViewDidLoadViewDidUnload: 在iOS6以后此方法 已经不能用了 即使能用因为不能手动调用 只是在系统内存比较低得时候 系统自动调用 释放View... 阅读全文
posted @ 2015-10-10 17:14 上官元空 阅读(241) 评论(0) 推荐(0)
摘要: #define kColor(r,g,b,a) [UIColor colorWithRed:(r/255.0f) green:(g/255.0f) blue:(b/255.0f) alpha:a]//在.a文件中取东西#define PayBundle @"PayBundle.bundle"#def... 阅读全文
posted @ 2015-10-10 17:13 上官元空 阅读(227) 评论(0) 推荐(0)
摘要: UIView *touched = [self.view hitTest:pt withEvent:event];Uiview *touchView = [pt view]; 阅读全文
posted @ 2015-10-10 17:13 上官元空 阅读(214) 评论(0) 推荐(0)
摘要: - (NSString*)simulateAndRenderScene{ NSDate* dat = [NSDate dateWithTimeIntervalSinceNow:0]; NSTimeInterval a=[dat timeIntervalSince1970]*1000; NSStrin... 阅读全文
posted @ 2015-10-10 17:12 上官元空 阅读(140) 评论(0) 推荐(0)
摘要: #defineNSAssert(condition,desc,...)只有条件condition满足,才会执行下一个语句,否则输出断言错误。例如:NSAssert(1!=2,@"1怎么会等于2");当1等于2时,执行该程序就Xcode就会报错 阅读全文
posted @ 2015-10-10 17:11 上官元空 阅读(94) 评论(0) 推荐(0)
摘要: [arr enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { NSLog(@"obj数组的元素%@ idex数组的元素下标%lu",obj,(unsigned long)idx);}]; 阅读全文
posted @ 2015-10-10 17:11 上官元空 阅读(166) 评论(0) 推荐(0)
摘要: if ([self respondsToSelector:success]){ [self performSelector:success withObject:dictJson];} 阅读全文
posted @ 2015-10-10 17:10 上官元空 阅读(129) 评论(0) 推荐(0)
摘要: NSString *doc=[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];NSString *fileName=[doc stringByAppendingPa... 阅读全文
posted @ 2015-10-10 17:10 上官元空 阅读(141) 评论(0) 推荐(0)
摘要: 一.Undefined symbols for architecture x86_64:Xcode升级到5.1 新特性之一就是默认让所有App都通过64位编译器编译。原来在Xcode5.0.x的时候默认的Standard architectures只有(arm7,armv7s),到5.1之后默认就带... 阅读全文
posted @ 2015-10-10 17:09 上官元空 阅读(216) 评论(0) 推荐(0)
摘要: [format setDateFormat:@"yyyy倒霉年MM幸运月dd灾难日 hh郁闷小时mm破分ss烂秒SSS屁屁毫秒"];NSDateFormatter *formatter = [[NSDateFormatter alloc] init];[formatter setDateFormat... 阅读全文
posted @ 2015-10-10 17:08 上官元空 阅读(165) 评论(0) 推荐(0)
摘要: 新建一个类继承自UIScrollView 并重写下面的方法-(void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ [super touchesBegan:touches withEvent:event]; if ( !sel... 阅读全文
posted @ 2015-10-10 17:07 上官元空 阅读(580) 评论(0) 推荐(0)
摘要: AddOrEditViewController *addOrEdit = [[AddOrEditViewController alloc] init]; CATransition *transition = [CATransition animation]; transition.duration ... 阅读全文
posted @ 2015-10-10 17:07 上官元空 阅读(180) 评论(0) 推荐(0)
摘要: 这个库是一个单例,它一旦生效,全项目任何界面都有效。让它生效的代码可以写在任意位置,我写在AppDelegate里。12345678910-(BOOL)application:(UIApplication*)applicationdidFinishLaunchingWithOptions:(NSDi... 阅读全文
posted @ 2015-10-10 17:04 上官元空 阅读(1430) 评论(0) 推荐(0)
摘要: An error occurred and the operation could not be completed出现这个错误原因是 下面的的两个选项有勾选的 提交代码时下面的两个都不选 阅读全文
posted @ 2015-10-10 17:02 上官元空 阅读(154) 评论(0) 推荐(0)
摘要: 导入准备工作1.建立一个Framework & Library->Cocoa Touch Static Library 取名A,并在A里新建一个类用来测试2.建立一个demo工程B3.把工程A整个文件夹复制到B工程文件夹里,位置随便选(只要你会添加头文件搜索路劲,如果不会,建议去另一篇教程学习htt... 阅读全文
posted @ 2015-10-10 16:59 上官元空 阅读(439) 评论(0) 推荐(0)
摘要: [self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:3] animated:YES]; 阅读全文
posted @ 2015-10-10 15:28 上官元空 阅读(212) 评论(0) 推荐(0)
摘要: 最近在开发一个app,需要调用银联的sdk控件,银联提供的demo可以正常运行,但是自己的程序却怎么都编译不通过,到底有哪些需要注意的呢??具体的有可能会出现哪些错误我就不列举了,我只是提下有哪些需要注意的地方,也就是说遇到了错误你就好好检查下这些地方是否都是配置正确了。1.将 xcode 工程中 ... 阅读全文
posted @ 2015-10-10 15:27 上官元空 阅读(491) 评论(0) 推荐(0)
摘要: (1)CGRectInsetCGRect CGRectInset (CGRect rect,CGFloat dx,CGFloat dy);该结构体的应用是以原rect为中心,再参考dx,dy,进行缩放或者放大。举例如下:CGRectr1=CGRectMake(100,100,50,50);CGRec... 阅读全文
posted @ 2015-10-10 15:26 上官元空 阅读(185) 评论(0) 推荐(0)
摘要: 创建labelUILabel *label1 = [[UILabel alloc] initWithFrame:CGRectMake(20, 40, 280, 80)];设置背景色label1.backgroundColor = [UIColor grayColor];设置taglabel1.tag... 阅读全文
posted @ 2015-10-10 15:10 上官元空 阅读(134) 评论(0) 推荐(0)
摘要: NSDictionary *dict = [[NSBundle mainBundle] infoDictionary];NSString *strVer = [NSString stringWithFormat:@"%@",[dict objectForKey:@"CFBundleShortVers... 阅读全文
posted @ 2015-10-10 14:50 上官元空 阅读(145) 评论(0) 推荐(0)
摘要: 在自己的.a里面集成 别人的.a 需要添加的 库不是添加在.a里面 而是调用.a的工程里面ios7 显示图片 图片名后面必须加 .png 后缀 要不然IOS7的系统不能显示相应的图片切换导航栏的viewController self.tabBarController.selectedIndex=1; 阅读全文
posted @ 2015-10-10 14:46 上官元空 阅读(97) 评论(0) 推荐(0)
摘要: transform属性在OC中,通过transform属性可以修改对象的平移、缩放比例和旋转角度常用的创建transform结构体方法分两大类(1) 创建“基于控件初始位置”的形变CGAffineTransformMakeTranslation(平移)CGAffineTransformMakeSca... 阅读全文
posted @ 2015-10-10 14:36 上官元空 阅读(716) 评论(0) 推荐(0)