ios开发之某些知识点总结

将NSString字符串去掉前后空格:
                 NSString stringByTrimmingCharacte rsInSet:[NSCharacterSet whitespaceCharacterSet]
[转载]xcode <wbr>开发小问题


获取颜色的值:
                 UIColor *uicolor = [UIColor redColor];
                CGColorRef color = [uicolor CGColor];
                int numComponents = CGColorGetNumberOfCompon ents(color);
                  if (numComponents >= 3)
                  {
                              const CGFloat *tmComponents = CGColorGetComponents(color);
                             red = tmComponents[0];
                             green = tmComponents[1];
                          blue = tmComponents[2];
                           alpha = tmComponents[3];
                 }


产生随机数(0-1之间):
                 (float)(1+arc4random()% 99)/100
[转载]xcode <wbr>开发小问题


读取一个url返回数据:
                 - (NSString *) urlString:(NSString *)value{
                        NSURL *url = [NSURL URLWithString:value];
                        NSData *data = [NSData dataWithContentsOfURL:url];
                        //解决中文乱码,用GBK
                        NSStringEncoding enc =                                           
                         CFStringConvertEncodingT oNSStringEncoding(kCFStringEncodingGB_18030_2000);   
                        NSString *retStr = [[NSString alloc] initWithData:data encoding:enc];
                        return retStr;
                 }


NSArray数组的比较器:
                 由于此方法是c方法,所以应该写再@end后面或者@implementation前面。
                 如果写在@implementation前面的话,就不需要声明了,如果写在@end前面的话,得在头文件声明
                 或者@implementation前面声明此方法。
                 方法:
                 NSInteger intSort(id num1, id num2, void *context)
                 {
                        int v1 = [num1 intValue];
                        int v2 = [num2 intValue];
                        if (v1 < v2)
                                return NSOrderedAscending;
                        else if (v1 > v2)
                                return NSOrderedDescending;
                        else
                                return NSOrderedSame;
                 }
                 调用:
                 NSArray *sortedArray;
                 sortedArray = [anArray sortedArrayUsingFunction :intSort context:NULL];


手工绑定按钮单击事件:
                 - (void)addTarget:(id)target action:(SEL)action forControlEvents:
                 (UIControlEvents)controlEvents; [转载]xcode <wbr>开发小问题


创建一个plist文件:
                 NSMutableDictionary *currencyDictionary = [[NSMutableDictionary alloc] init];     
                 NSArray *paths = NSSearchPathForDirectori esInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
                 NSString *path=[paths objectAtIndex:0];
                 NSString *fileName=[path stringByAppendingPathCom ponent:@"currency.plist"];     
                 [currencyDictionary writeToFile:fileName   atomically:YES];

添加动画代码:
  1. [UIView beginAnimations:@"View Flip" context:nil];
  2. [UIView setAnimationDuration:1.25];
  3. [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
  4. [UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:self.view.superview cache:YES];
  5. [self.view removeFromSuperview];
  6. [UIView commitAnimations]

navigationItem添加leftBarButtonItem
                 UIBarButtonItem *uibar1 = [[UIBarButtonItem alloc] initWithCustomView:controllerName];
              self.navigationItem.rightBarButtonItem = uibar1;
                 [uibar1 release];


UITabBarController添加TabBarItem
[转载]xcode <wbr>开发小问题


切换view的两种方式:
                 1.presentModalViewControll er: animated:     And   dismissModalViewControll erAnimated:
                 (注:
                             缺点:此切换方法将取代整个大view.例如:tabBarController就能被取代。
                              优点:此切换方法可以没有NavigationController的支持
                   )
                  SecondController *second = [[SecondController alloc] init];
         [self presentModalViewController:second animated:YES];

         [self dismissModalViewControllerAnimated:YES];
                 2.pushViewController: animated:   And   popViewControllerAnimate d:
                 (注:
                             缺点:此切换方法必须有NavigationController的支持
                              优点:此切换方法不能取代整个大view.例如:tabBarController就不能被取代。
                   )
         ThirdController *third = [[ThirdController alloc] init];
         [self.navigationController pushViewController:third animated:YES];
        
         [self.navigationController popViewControllerAnimated:YES];

消息提示框使用:
[转载]xcode <wbr>开发小问题

文件进行操作:
             // 获取当前目录下得Currency.plist文件路径
            NSString *locationPath = [[NSBundle mainBundle] pathForResource:@"Currency" ofType:@"plist"];
            // 获取沙盒得路径
            NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
            NSString *strCopyPath = [paths objectAtIndex:0];
            // 将路径和取得得文件名组合成一个新路径
            NSString *strPath = [strCopyPath stringByAppendingPathComponent:@"Currency.plist"];
            // 文件管理
            NSFileManager *man = [NSFileManager defaultManager];
            NSError *error = nil ;
            // 开始复制
            [man copyItemAtPath:locationPath toPath:strPath error:&error];
            [man release];
            // 获取
strCopyPath 路径下的文件数组
            NSArray *array = [man contentsOfDirectoryAtPath:strCopyPath error:nil];
            [array count];

调用GPS位置:
            导入#import <CoreLocation/CoreLocation.h>
            CLLocationManager *clLocationManager = [[CLLocationManager alloc] init];
            [clLocationManager setDesiredAccuracy:kCLLocationAccuracyBest];
            [clLocationManager setDelegate:self];  // deldegate
            [clLocationManager startUpdatingLocation];

            [clLocationManager release];

            - (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation {
                  [manager stopUpdatingLocation]; // 停止执行此方法
                  newLocation.coordinate.longitude; // 获取当前的经度
                  newLocation.coordinate.latitude;   // 获取当前的纬度
            }

获取UUID的值:
            CFUUIDRef uuidObj = CFUUIDCreate(nil);
            NSString *uuidString = (NSString *)CFUUIDCreateString(nil, uuidObj);
            CFRelease(uuidObj); // uuidString就是唯一得了
            [uuidString release];

ico图标有弧线:
           
  [转载]xcode <wbr>开发小问题
                       例如这种,系统默认的是带ico图标中间带弧线。
                       不加弧线的方法:
                       在****-info.plist中添加一项:Icon already includes gloss effects 然后value的多选筐勾选住。

ico图标大小:
                       1.iPhone -- 57*57
                       2.iPhone4 -114*114
                       3.iPad             --72*72
#pragma mark 获得时间戳
                         - (NSString *)_generateTimestamp
                                 return [NSString stringWithFormat:@"%d", time(NULL)];

#pragma mark 获得随时字符串
                         - (NSString *)_generateNonce {
                               CFUUIDRef theUUID = CFUUIDCreate(NULL);
                               CFStringRef string = CFUUIDCreateString(NULL, theUUID);
                               NSMakeCollectable(theUUID);
                               return (NSString *)string;
                           }


#pragma mark textView控件编辑完后键盘隐藏
                         - (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {     
                                         if([text isEqualToString:@"n"]) {
                                                         [textView resignFirstResponder];
                                                         return NO;
                                           }
                                           return YES;
}

#pragma mark iphone 4 摄像头是前后切换
#import <AVFoundation/AVFoundation.h>

// Switching between front and back cameras

- (AVCaptureDevice *)cameraWithPosition:(AVCaptureDevicePosition)position
{
        NSArray *devices = [AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo];
        for ( AVCaptureDevice *device in devices )
                if ( device.position == position )
                        return device;
        return nil;
}

- (void)swapFrontAndBackCameras {
        // Assume the session is already running

        NSArray *inputs = self.session.inputs;
        for ( AVCaptureDeviceInput *input in inputs ) {
                AVCaptureDevice *device = input.device;
                if ( [device hasMediaType:AVMediaTypeVideo] ) {
                        AVCaptureDevicePosition position = device.position;
                        AVCaptureDevice *newCamera = nil;
                        AVCaptureDeviceInput *newInput = nil;

                        if (position == AVCaptureDevicePositionF ront)
                                newCamera = [self cameraWithPosition:AVCaptureDevicePositionB ack];
                        else
                                newCamera = [self cameraWithPosition:AVCaptureDevicePositionF ront];
                        newInput = [AVCaptureDeviceInput deviceInputWithDevice:newCamera error:nil];

                        // beginConfiguration ensures that pending changes are not applied immediately
                        [self.session beginConfiguration];

                        [self.session removeInput:input];
                        [self.session addInput:newInput];

                        // Changes take effect once the outermost commitConfiguration is invoked.
                        [self.session commitConfiguration];
                        break;
                }
        }
}

# 存储选择的图片到沙盒中    
NSArray *pathArray = NSSearchPathForDirectori esInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
       NSData *imageData = UIImagePNGRepresentation ([info objectForKey:UIImagePickerControllerO riginalImage]);
     
       CFUUIDRef uuidObj = CFUUIDCreate(nil);
       NSString *uuidString = (NSString *)CFUUIDCreateString(nil, uuidObj);
       CFRelease(uuidObj);
       self.pAddress = [[pathArray objectAtIndex:0] stringByAppendingPathCom ponent:[NSString stringWithFormat:@"%@.png",uuidString]];
       [imageData writeToFile:self.pAddress atomically:YES ];
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值