iOS 开发
这个夏天有点凉儿
大家好,我是一位代码猿,一个渺小而普通的人,下面是我的一些学习中遇到的问题和解决方案,和大家分享一下,希望大家共同进步
展开
-
FMDB的使用
iOS中原生的SQLite API在使用上相当不友好,在使用时,非常不便。于是,就出现了一系列将SQLite API进行封装的库,例如FMDB、PlausibleDatabase、sqlitepersistentobjects等,FMDB (https://github.com/ccgus/fmdb) 是一款简洁、易用的封装库,这一篇文章简单介绍下FMDB的使用。在FMDB下载文件转载 2015-12-29 10:54:27 · 422 阅读 · 1 评论 -
打开系统设置
打开系统Settings[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=LOCATION_SERVICES"]]; [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=TWITTER原创 2016-01-30 08:31:34 · 390 阅读 · 0 评论 -
图片剪裁
//指定宽度按比例缩放-(UIImage *) imageCompressForWidth:(UIImage *)sourceImage targetWidth:(CGFloat)defineWidth{ UIImage *newImage = nil; CGSize imageSize = sourceImage.size; CGFloat width = im原创 2016-02-01 16:40:30 · 252 阅读 · 0 评论 -
获取系统时间
NSDate * senddate=[NSDatedate]; NSDateFormatter *dateformatter=[[NSDateFormatteralloc] init]; [dateformatter setDateFormat:@"YYYY-MM-dd-SSSS"]; NSS原创 2016-02-02 14:19:04 · 536 阅读 · 0 评论 -
IOS---NSdata 与 NSString,Byte数组,UIImage 的相互转换
1. NSData 与 NSStringNSData-> NSStringNSString *aString = [[NSString alloc] initWithData:adataencoding:NSUTF8StringEncoding];NSString->NSDataNSString *aString = @"1234abcd";转载 2016-02-19 15:40:28 · 266 阅读 · 0 评论 -
MBProgressHUD
//===========***Delegate***============//#pragma mark - MBProgressHUDDelegate-(void)showSuccessMessage:(NSString *)msg{ MBProgressHUD *hud = [MBProgressHUDshowHUDAddedTo:self.navi原创 2016-02-22 15:03:47 · 283 阅读 · 0 评论 -
清除缓存
//清除缓存 [[NSURLCachesharedURLCache] removeAllCachedResponses];原创 2016-02-22 15:09:01 · 310 阅读 · 0 评论 -
关于Xcode的绝对路径和相对路径问题
最近在项目中遇到一个,关于这方面的问题,一般我们在xcode里面配置包含工程目录下头文件的时候,都要关联着相对路径和绝对路径,如果只是自己用这个项目,用绝对路径的问题不大,但是如果你把工程发给别人,别人就要在改这个绝对路径,这时候绝对路径的缺点立马出现。所以在修改User Header Search Paths这个选项的时候使用"$(SRCROOT)/当前工程名字/需要包含头文件所在文件夹"将上面原创 2016-03-31 17:43:57 · 1990 阅读 · 0 评论 -
UUID
- (NSString*)uuid{ UIDevice *device = [UIDevicecurrentDevice];//创建设备对象 NSUUID *UUID = [device identifierForVendor]; NSString *deviceID = [UUID UUIDString]; device原创 2016-03-25 16:19:24 · 248 阅读 · 0 评论 -
字符串的本地化
一个应用在进行多语言本地化的时候涉及到大量的工作。因为这一期的主题是字符串,所以本文主要探讨字符串的本地化。字符串本地化有两种方法:修改代码或修改 nib 文件和 storyboard。本文将专注于通过代码实现字符串的本地化。NSLocalizedStringNSLocalizedString 这个宏是字符串本地化的核心工具。它还有三个鲜为人知的变体:NSLocalizedStri转载 2016-03-28 09:11:45 · 1750 阅读 · 0 评论 -
判断设备是否开启麦克风
//#import "ViewController.h"#import @interface ViewController ()@end@implementation ViewController- (void)viewDidLoad { [superviewDidLoad];原创 2016-04-15 14:58:39 · 4427 阅读 · 0 评论 -
Swift工程使用OC类
http://blog.csdn.net/zww1984774346/article/details/505084271.创建一个Swift工程命名为OCSwift 2.随便创建一个OC文件 会出现提示,选择Create Bridging Header,系统会创建一个桥接文件 3.配置工程,确保Objective-C Compa转载 2016-05-14 10:24:06 · 577 阅读 · 0 评论 -
OC工程调用Swift方法
为防止出问题,建议以这样的方法做: 1.建一个OC工程命名为SwiftOC 2.新建一个swfit文件命名为Test.Swift,会弹出提示,选择Create Bridging Header建立桥接文件,系统会建立“工程名-Bridging-Header.h” 3.配置工程 设置Defines Module 为Yes 设置Product Module转载 2016-05-14 10:25:22 · 356 阅读 · 0 评论 -
ios富文本属性
@interfaceViewController ()@property (weak,nonatomic) IBOutletUILabel *stringLabel;@end@implementationViewController- (void)viewDidLoad { [super viewDidLoad]; NSString *strin原创 2016-05-16 09:09:55 · 386 阅读 · 0 评论 -
提示框
- (void)uialertViewControllerView{ UIAlertController *alertController = [UIAlertControlleralertControllerWithTitle:@"提示"message:@"请确认点击的位置"preferredStyle:UIAlertControll原创 2016-05-06 10:41:12 · 236 阅读 · 0 评论 -
iOS中在View 中获取控制器
- (UIViewController*)viewController:(UIView *)view;- (UINavigationController*)navigationController:(UIView *)view;- (UIViewController*)viewController:(UIView *)view { for (UIView* nex原创 2016-06-28 08:35:58 · 1855 阅读 · 0 评论 -
判断网络 比较苦逼 无法判断路由器 的WiFi 是否连接到网络
+(NSString *)getNetWorkStates{UIApplication *app = [UIApplication sharedApplication];NSArray *children = [[[app valueForKeyPath:@"statusBar"]valueForKeyPath:@"foregroundView"]subviews]; N原创 2016-01-29 17:12:12 · 432 阅读 · 0 评论 -
判断ios app 第一次启动
流行的解决方案是在大多数地方是用[NSUserDefaults standardUserDefaults的一个关键,如果它不存在,这意味着这是应用程序启动,否则,它不是第一次在appdelegate.m中找到 “application:didFinishLaunchingWithOptions:” 方法, 添加以下代码: if(![[NSU转载 2015-12-26 16:19:25 · 363 阅读 · 0 评论 -
ios设置App版本号
刚接触ios开发的童鞋应该会对于app版本号吗有些疑问,因为target不仅仅在summary中有版本号,同样在Info.plist等地方也有版本号码的地方,一头乱码,不知吗?其实xcode在summary中已经将app最基本的设置进行了全面的封装,其余的plist,build setting等地方会跟着summary设置的改变而改变。一个version,一个build,都是设转载 2015-12-26 11:14:05 · 4303 阅读 · 2 评论 -
iOS中的复制对象 浅,深复制
对象复制,顾名思义就是将一个已有的对象复制一份出来,开辟一个新的内存来储存对象,相当于一个副本;对象复制又分为浅拷贝和深拷贝;这里我们就来简单的介绍下对象复制。Foundation框架张支持复制的对象有NString、NSArra、NSNumber、NSDictionar、NSMutableString、NSMutablerArray、NSMutableDictionary等。我们可以自定转载 2016-01-16 13:38:02 · 245 阅读 · 0 评论 -
iOS 摇一摇 实现
一直觉得iPhone的摇一摇功能很炫,很想在自己的应用中也能加入这个功能显摆显摆,准备开始干,第一件事情就是上网搜资料。可是发现网上各种各样的实现方法都有看的眼花缭乱。实践才是检验真理的唯一标准,只能一一实践一下看看,最后发现其实比我想象中的简单太多,比网上有些人说的简单太多。iPhone对摇一摇有很好的支持,总体说来就两步:首先在试图控制器中打开接受摇一摇的开关然后在摇一摇触发的制定的方法中实现转载 2015-12-31 11:33:26 · 443 阅读 · 0 评论 -
NSUserDefaults 密码储存
NSUserDefaults *userDefaults = [NSUserDefaultsstandardUserDefaults]; [userDefaults setObject:userText.textforKey:@"USER_NET_ADDRESS"];使用的时候 在定义一个 userDefaults 用可以值来原创 2015-12-31 13:31:30 · 623 阅读 · 1 评论 -
IOS开发之----两种保存用户名和密码实现记住密码库
使用Keychain存储用户敏感信息iOS的keychain服务提供了一种安全的保存私密信息(密码,序列号,证书等)的方式,每个ios程序都有一个独立的keychain存储。相对于NSUserDefaults、文件保存等一般方式,keychain保存更为安全,而且keychain里保存的信息不会因App被删除而丢失,所以在重装App后,keychain里的数据还能使用。从ios转载 2015-12-31 13:54:10 · 1454 阅读 · 0 评论 -
iOS 四种保存数据的方式 (github上面的)
在iOS开发过程中,不管是做什么应用,都会碰到数据保存的问题。将数据保存到本地,能够让程序的运行更加流畅,不会出现让人厌恶的菊花形状,使得用户体验更好。下面介绍一下数据保存的方式:1.NSKeyedArchiver:采用归档的形式来保存数据,该数据对象需要遵守NSCoding协议,并且该对象对应的类必须提供encodeWithCoder:和initWithCoder:方法。前一个方法告原创 2015-12-31 15:57:35 · 349 阅读 · 0 评论 -
一些常用的大牛博客ios
1:iOS中UIWebView的Javascript与Objective-C通信http://imchao.net/2012/03/18/uiwebview-javascript-communicate-with-cocoa-in-ios/2:UIView 你知道多少?http://www.cnblogs.com/likwo/archive/2011/06/18/208原创 2015-12-31 16:29:29 · 316 阅读 · 0 评论 -
MesaSQLite数据库简单使用
数据库工具:MesaSQLite 一.创建1.创建数据库MesaSQLite工具 File-NewDataBase 创建出新的数据库(Newdb.rdb),这里我要的是.db的文件,自己手动把文件名改为.db;2.创建table 进入MesaSQLite,选中structure,选中+增加一个表格(city)也可以转载 2015-12-31 16:53:42 · 483 阅读 · 0 评论 -
UUID 获取设备的唯一标志
UIDevice *myDevice = [UIDevicecurrentDevice];// NSString *deviceUDID = [myDevice uniqueIdentifier]; NSUUID *str = [myDevice identifierForVendor];原创 2016-01-03 17:05:18 · 1339 阅读 · 0 评论 -
NSSet使用小结
#import int main(int argc, const char * argv[]) { @autoreleasepool { NSSet *set1 = [NSSet setWithObjects:@"a", @"b", @"c", @"d", nil]; NSSet原创 2016-01-06 07:29:49 · 253 阅读 · 0 评论 -
ios学习笔记之Object-C—集合
Obejct-C中包含了三种集合,分别是:数组、字典和集(set) 数组和C语言中的数组相似,但是OC中的数组只能存储对象,不能存储基本数据类型,如int、float、enum、struct等,也不能存储nil。它也提供了编制好的索引对象,可以通过制定索引找到要查看的对象。包含可变数组(NSMutableArray)和不可变数组(NSArray)。 字典存放的是“键值对”,转载 2016-01-06 07:38:10 · 263 阅读 · 0 评论 -
字符串 的查找 替换
//// 查找// NSString *string26 = @"www.IT.com";// NSRange range2 = [string26 rangeOfString:@"IT"];// if (range2.location != NSNotFound) {// // }//// 替换//原创 2016-01-23 11:08:27 · 254 阅读 · 0 评论 -
IOS总结 静变量static、全局变量extern、局部变量、实例变量
1、静态变量 static什么是静态变量:从面向对象的角度触发,当需要一个数据对象为整类而非某个对象服务,同时有力求不破坏类的封装性,既要求此成员隐藏在类的内部,有要求对外不可见的时候,就可以使用static。 静态变量的优点:1、节省内存。静态变量只存储一处,但供所有对象使用。 2、它的值是可以更新的。 3、可提高时间效率。只要某个对象对静态变量更新一次,所有的对转载 2016-01-25 16:56:29 · 527 阅读 · 0 评论 -
IOS-获取Model(设备型号)、Version(设备版本号)、app(程序版本号)
NSLog(@"uniqueIdentifier: %@", [[UIDevice currentDevice] uniqueIdentifier]); NSLog(@"name: %@", [[UIDevicecurrentDevice] name]); NSLog(@"systemName: %@", [[UIDevicecurren原创 2015-12-24 15:42:26 · 329 阅读 · 0 评论 -
IOS开发之----两种保存用户名和密码实现记住密码库
使用Keychain存储用户敏感信息iOS的keychain服务提供了一种安全的保存私密信息(密码,序列号,证书等)的方式,每个ios程序都有一个独立的keychain存储。相对于NSUserDefaults、文件保存等一般方式,keychain保存更为安全,而且keychain里保存的信息不会因App被删除而丢失,所以在重装App后,keychain里的数据还能使用。从ios转载 2015-12-24 16:55:37 · 484 阅读 · 0 评论 -
iOS 时间间隔计算
//首先创建格式化对象 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];//然后创建日期对象 NSDate *date1 = [dateFormatter da原创 2016-01-27 13:21:34 · 785 阅读 · 0 评论 -
IOS代理
通知 是在跳转控制器之间常用的传值代理方式,除了代理模式,通知更方便、便捷,一个简单的Demo实现通知的跳转传值.输入所要发送的信息 ,同时将label的值通过button方法调用传递,- (IBAction)buttonClick:(id)sender { //添加 字典,将label的值通过key值设置传递 NSDictionary *d转载 2016-06-15 16:18:16 · 309 阅读 · 0 评论