Oc_总结】的更多相关文章

前期有段时间困扰了我很久一个问题由于工程中的图片数据抓取自不同平台,所以图片的大小尺寸不一定,而放置图片的imageView尺寸是一定的,不作任何处理的话会导致图片拉伸变形,因此找了好久解决办法,现把它拿出来. #import <UIKit/UIKit.h> #import "UIImageView+WebCache.h" @interface UIImageView (WebImage) /** * @author Tucai, 16-02-23 12:02:53 * *…
录制: 1.设置全局属性 NSURL *recordedFile;//存放路径 AVAudioPlayer *player;//播放 AVAudioRecorder *recorder;//录制 NSString *recoderName;//文件名 2.设置存储路径 NSDateFormatter *formater = [[NSDateFormatter alloc] init]; [formater setDateFormat:@"yyyy-MM-dd-HH:mm:ss"]; N…
代码中是根据"create_time_" 进行排序   ascending:决定的是升序还是降序排序 NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc]initWithKey:@"create_time_" ascending:Yes]; [dataArray sortUsingDescriptors:[NSArray arrayWithObject:sortDescriptor]];…
Objective C 中除了可以使用C中的基本数组外,如 int[5];,char word[] = {‘a’, 'b’, 'c’};,Foundation 还提供了 NSArray 类.Foundation 是有序的对象集合.NSArray 保存的对象可以是 不同的对象.但只能保存对象,int,char,double等基本数据类型不能直接保存,需要通过转换成对象才能加入数组. 例如下面的代码在运行时会报错: NSArray *arrs = [[NSArray alloc]initWithOb…
Objective-C 支持的类型有两种:基本类型和类. 基本类型,如同 C 语言中的 int 类型一样,拿来就可以直接用.而类在使用时,必须先创建一个对象,再为对象分配空间,接着做初始化和赋值.类的初始化,需用类自身的方法(类方法).代码中所创建的对象,不用后,还得记着释放. NSNumber 是类,而 NSInteger 只不过是个基本类型. 既然 NSInteger 是基本类型,那么,使用起来就非常简单.声明一个变量,NSInteger myInt:直接赋值就可以了. 比如:myInt =…
一.构造方法 (一)构造方法的调用 完整的创建一个可用的对象:Person *p=[Person new]; New方法的内部会分别调用两个方法来完成2件事情: 1) 使用alloc方法来分配存储空间(返回分配的对象): 2) 使用init方法来对对象进行初始化. 可以把new方法拆开如下: 1. 调用类方法+alloc分配存储空间,返回未经初始化的对象 Person *p1=[person  alloc]; 2. 调用对象方法-init进行初始化,返回对象本身 Person *p2=[p1 i…
OC的数组对象的基本方法的使用:因为OC的数组中存储的为对象类型,所以我们可以新建一个Person类,通过Person生成对象进行操作. 其中Person.h中的代码为:   01.#import<Foundation/Foundation.h> 02.@interfacePerson: NSObject{ 03. NSString * _name;//姓名 04. NSString * _sex;//性别 05. NSInteger _age;//年龄 06.} 07.-(NSInteger…
计步器的实现方式主要有那么两种 1.通过直接调用系统的健康数据,基于HealthKit框架的,但是貌似是一小时更新一次数据.如果要实时获取步数,这种方式并不是最佳. 2.基于CoreMotion框架,顾名思义就是加速计/加速度传感器 >最早出现在iOS设备上的传感器之一 >加速计用于检测设备在X.Y.Z轴上的加速度 (哪个方向有力的作用) >加速计可以用于检测设备的摇晃,经典应用场景(例如摇一摇.计步器等) 源码: #import <Foundation/Foundation.h&…
UILabel *view1 = [[UILabel alloc]init]; view1.text = @"Label1"; view1.backgroundColor = [UIColor redColor]; UILabel *view2 = [UILabel new]; view2.text = @""; view2.backgroundColor = [UIColor grayColor]; UILabel *view3 = [UILabel new];…
@interface Node : NSObject @property(nonatomic,strong)NSString *value; @property(nonatomic,strong)Node *next; Queue的头文件内容: #import <Foundation/Foundation.h> @class Node; @interface Queue : NSObject @property  (strong,nonatomic) Node  *first; @proper…
  循环调用: 1.循环引用的问题 两个对象A.B,有可能会出现特殊情况:A中包含B的实例变量:B中也包含A的实例变量,如果这两个实例变量都是强引用(A有着B的实例变量所有权,B也有A的实例变量所有权),然后在两个对象销毁时,会出现A.B都不能正常销毁的情况.下面用代码来演示循环调用问题: ClassA的头文件Class.h代码 #import <Foundation/Foundation.h> //类的前向声明 @class ClassB; //类的前向声明与包含头文件的区别?Q: @int…
  引言:      1.OC中的对象都是分配在堆中的                声明对象的格式:                     Person *person = [Person new];                     Person *person           //指针类型的变量是放在栈里面的:                     [Person new]               //在堆创建对象并初始化:                        …
// 屏幕高度 #define XMGHeight [UIScreen mainScreen].bounds.size.height // 屏幕宽度 #define XMGWidth [UIScreen mainScreen].bounds.size.width // 以iPhone5为基准(UI妹纸给你的设计图是iPhone5的),当然你也可以改,但是出图是按照7P(6P)的图片出的,因为大图压缩还是清晰的,小图拉伸就不清晰了,所以只出一套最大的图片即可 #define XMGiPhone5W…
#pragma mark-UIGestureRecognizerDelegate Methods // 只要实现这个方法,就可以实现两个手势同时响应 - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer: (UIGestureRecognizer *)otherGestureRecognizer { return Y…
PageTitleView: #import <UIKit/UIKit.h> @class GFBPageTitleView; @protocol GFBPageTitleViewDelegate <NSObject> - (void)pageTitleView:(GFBPageTitleView *)pageTitleView selectedIndex:(int)index; @end @interface GFBPageTitleView : UIView - (instan…
// // GFBProductViewController.m // elmsc // // Created by MAC on 2016/11/26. // Copyright © 2016年 GFB Network Technology Co.,Ltd. All rights reserved. // #import "GFBProductViewController.h" #define kScreentW [UIScreen mainScreen].bounds.size.w…
// //  main.m //  字符串重组 // //  Created by admin on 15/8/13. //  Copyright (c) 2015年 admin. All rights reserved. // #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { //      1. 多个数据拼接成一个字符串 ; ; ; NSString…
1.定义类: @interface 类名 : 父类 @end 2.使用:(冒号)表示继承一个类 Student : NSObject 3.使用()定义一个Catagory(类别) * 作用:在不改变原有类结构的基础上,扩展原有类的方法(不能扩展属性),但不建议重载原有类的方法 * 开发工具默认生成的文件为:类名+Catagory名称 * Catagory可以写在单独的文件中,也可以写在原有类的文件中,如何写根据需求来决定. 4.使用<>表示实现一个Protocol(协议),如需实现多个协议,将…
// //  main.m //  字符串的获取 // //  Created by admin on 15/8/13. //  Copyright (c) 2015年 admin. All rights reserved. // #import <Foundation/Foundation.h> /* 1. 获取字符串长度 2. 依据字符串索引获得单个字符    // 这里的索引 就是下标 3. 依据索引获得一个字符串 4. 依据子串获得子串在还有一个字符串中的索引位置 5. 依据字符串.获…
// //  main.m //  字符串写入文件 // //  Created by admin on 15/8/13. //  Copyright (c) 2015年 admin. All rights reserved. // #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { /* 将字符串写入到一个文件.并保存 > 须要写入文件的字符串内容…
// //  main.m //  经常使用结构体 // //  Created by admin on 15/8/13. //  Copyright (c) 2015年 admin. All rights reserved. // #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { //      1. 表示范围:NSRange 结构体 , };    …
// //  main.m //  SEL数据类型 // //  Created by admin on 15/8/12. //  Copyright (c) 2015年 admin. All rights reserved. // #import <Foundation/Foundation.h> #import "Person.h" /* SEL数据类型,使用来包装方法的 */ int main(int argc, const char * argv[]) { @aut…
// //  main.m //  block数据类型 // //  Created by admin on 15/8/12. //  Copyright (c) 2015年 admin. All rights reserved. // #import <Foundation/Foundation.h> #import "Calculate.h" //  定义一个函数 void test() { NSLog(@"test函数"); } int main(…
// //  main.m //  使用继承来扩充类 // //  Created by admin on 15/8/12. //  Copyright (c) 2015年 admin. All rights reserved. // /* 当在一个类中有太多的方法会显得很复杂.为了清楚表示.我们能够创建类的一个分类(category)来扩充这个类 在其它面向对象语言中,使用继承关系类扩充一个类.然而这样最大的坏处就是耦合性太高 OC使用(category)来扩充一个类 注意:1. 仅仅要在原类…
在使用opencart进行二次开发时,若需要修改后台目录的文件夹名是可以操作的.具体步骤如下: 1.将网站后台文件夹名字改成opencartadmin 2.在该文件夹下找到config.php文件如图 $document_root = $_SERVER['DOCUMENT_ROOT']; $server_name = $_SERVER['SERVER_NAME']; //$website_root = str_replace("admin/", "", $docum…
原文:制作iis自动安装包 MS 一直没有提供可独立安装的 IIS 安装包,Windows 的缺省安装没有安装它,通常要到控制面板的"添加/删除 Windows 程序"中去选择安装.对于熟悉 Windows 安装的人来说这没有问题,但对于要独立发行的软件包却可能是一个问题,并非所有最终用户都熟悉如何去安装 IIS.各大网站都有不同版本的 iis 安装包可下载,可下载回来你仍然找不到其中有可以执行的安装程序.通过在网上查询,得出自己制作 IIS 一键安装的方法如下: 1. 根据使用的 W…
前几天在洛谷日报征文中看到了这样一篇文章:C++不止能做题.作为原来校管弦乐队的一名成员,而后因为信息完全放弃了管弦乐队,我看完是又激动又怀念.于是我自行去研究了一下:C++ 如何让蜂鸣器叫出乐曲. 由于本人乐理只有五线谱D2-2级,数学成绩中游,信息也只有普及组水平.如果有哪里写错了,望大家指正.轻 D. 首先需要知道两个函数: #include <windows.h> Beep( f, t ); Sleep( t ); Beep() 函数可以让蜂鸣器发出频率为 \(f\) 赫兹,音长大约为…
本篇介绍如何破解汽车之家配置页面的伪元素和混淆的JS. ** 温馨提示:如需转载本文,请注明内容出处.** 本文链接:https://www.cnblogs.com/grom/p/9242156.html (本文分多次编辑,可从原文章查看最新更新) 笔者爬取得网站中,印象最为深刻的就是汽车之家的网站了,也是麻烦最多的网站之一了,特点是页面大面积使用伪元素代替关键字,解析伪元素的JS进行了动态混淆,每次刷新后的JS都是不同的,页面被禁用右键菜单,无法选中或复制. (因为破解了一周,怕分享出来后汽车…
运用到的函数 #include <windows.h> Beep( f, t ); Sleep( t ); eep() 函数可以让蜂鸣器发出频率为f赫兹,音长大约为 2t 毫秒的音.(注意是 2t) Sleep() 函数可以当做休止符用.它可以让程序停止运行 t 毫秒的时间. 如果想知道每个音对应的频率,可以自行百度十二平均律频率表.以下是三个最常用的八度的频率: // _在前表示低音, 在后表示高音 // o表示升 const int _oC = 277, _oD = 311, _oF =…
今天一位客户问opencart忘记登录密码怎么办,他们公司内部有几位员工同时在管理,可能是哪位同事把密码给改了没有跟大家说,现在都登录不了.这个只能数据库修改了.进入opencart的数据库,找到oc_user [这里的oc_是数据库默认前缀,根据你的网站安装时候而定,所以你找到user就可以了],然后点击浏览,进去之后找到最高管理员,我这里只有一个管理员,admin,然后点击红色“X”前面的一支笔,也就是修改,进入如下界面, 把admin下面的MD5改为:e10adc3949ba59abbe5…