Objective-C
文章平均质量分 52
巴糖
这个作者很懒,什么都没留下…
展开
-
AFNetworking3.1 POST 请求
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; // 不加上这句话,会报“Request failed: unacceptable content-type: text/plain”错误 manager.responseSerializer = [AFHTTPResponseSerialize原创 2016-05-31 16:04:38 · 1695 阅读 · 0 评论 -
使用URL SCHEME启动淘宝客户端并跳转到某个商品页面的方法
// 构建淘宝客户端协议的 URL NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"taobao://item.taobao.com/item.htm?id=%@", itemId]]; // 判断当前系统是否有安装淘宝客户端 if ([[UIApplication sharedAppl转载 2015-12-03 16:51:44 · 8859 阅读 · 0 评论 -
使用URL SCHEME启动天猫客户端并跳转到某个商品页面的方法
NSString *urlString = @“http://detail.tmall.com/item.htm?spm=a215v.7217581.610138.10.sO6nZp&id=36615660686&areaId=410100&cat_id=2&rn=ebe1860b08257aacbac424ed12d5208c&user_id=1098342976&is_b=1”;NSURL转载 2015-12-03 16:50:24 · 3845 阅读 · 0 评论 -
调用ios系统生成二维码
第一步导入库 #import 第二步复制粘贴- (void)generateQrCode:(NSString *)str{ CIFilter * filter = [CIFilter filterWithName:@"CIQRCodeGenerator"]; [filter setDefaults]; NSData * data = [str dataUs原创 2015-06-26 11:17:59 · 637 阅读 · 0 评论 -
Objective-C中@property的所有属性详解
1,assign :简单赋值,不更改索引计数假设你用malloc分配了一块内存,并且把它的地址赋值给了指针a,后来你希望指针b也共享这块内存,于是你又把a赋值给(assign)了b。此时a 和b指向同一块内存,请问当a不再需要这块内存,能否直接释放它?答案是否定的,因为a并不知道b是否还在使用这块内存,如果a释放了,那么b在使用这块内存的时候会引起程序crash掉 应用场合:对原创 2015-11-24 15:54:35 · 2328 阅读 · 0 评论 -
Objective-C 编码建议<转载>
总则1.Don’t repeat your self.2.代码自注释,依靠代码本身来表达你的设计意图,不要依赖注释。3.单一指责,无论是类、函数、模块、包尽可能令其指责纯净且单一。4.死程序不说谎,不要因为防止Crash写奇葩的代码。程序Crash了,反而更容易查找错误。5.借用美国童子军军规:让营地比你来时更干净。格式1.任意函数长转载 2015-11-19 16:46:48 · 381 阅读 · 0 评论 -
iOS APP调用天猫or淘宝客户端
- (void)showItemInWebOrAppWithTypeFrom:(NSString *)typeFrom urlstr:(NSString *)url{ if ([typeFrom isEqualToString:@"tmall"]) { [self showItemInTmall4iOS:url]; } else if([typeF原创 2015-12-11 16:11:11 · 1252 阅读 · 0 评论 -
Xcode6 Xcode7 中Prefix.pch 是什么<有创建方法>
#import #ifndef __IPHONE_3_0#warning "This project uses features only available in iOS SDK 3.0 and later."#endif#ifdef __OBJC__#import #import #import "Common.h"#endif/** * 1.Prefix.原创 2015-01-06 10:49:50 · 762 阅读 · 0 评论 -
iOS开NSDate 设置今天
NSCalendar *cal = [NSCalendar currentCalendar]; NSDateComponents *components = [cal components:(NSEraCalendarUnit|NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit) fromDate:[NSDate date]];原创 2015-10-28 11:01:59 · 359 阅读 · 0 评论 -
iOS画图时 自己做的一小笔记
CGContextRef context = UIGraphicsGetCurrentContext(); 设置上下文CGContextMoveToPoint 开始画线CGContextAddLineToPoint 画直线CGContextAddEllipseInRect 画一椭圆CGContextSetLineCap 设置线条终点形状CGContextSe转载 2015-12-23 15:27:30 · 436 阅读 · 0 评论 -
图文混排之NSAttributedString
-(NSAttributedString *)imagesWithimgName:(NSString* )imgName offsetY:(CGFloat)offsetY{ NSTextAttachment * textAttachment = [[NSTextAttachment alloc]init]; UIImage * smileImage = [ UIImage ima原创 2016-01-08 18:38:26 · 421 阅读 · 0 评论 -
iOS开发手写分页
#pragma mark -//当用户开始拖拽的时候就调用- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView{ [self removeNSTimer];}//当用户停止拖拽的时候调用- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView w原创 2016-01-28 15:13:44 · 408 阅读 · 0 评论 -
图片下载简单处理
- setItem:(CustomItem *)item{ _item = item; // 占位图片 UIImage *placeholder = [UIImage imageNamed:@"placeholderImage"]; // 从内存\沙盒缓存中获得原图 UIImage *originalImage = [[SDImageCache sharedI转载 2016-05-05 16:58:47 · 319 阅读 · 0 评论 -
AFN3.1 POST请求 参数问题
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; // 不加上这句话,会报“Request failed: unacceptable content-type: text/plain”错误 manager.responseSerializer = [AFHTTPResponseSerialize原创 2016-05-27 15:39:30 · 1882 阅读 · 0 评论 -
AFN GET简易优化
基础 AFHTTPSessionManager *session = [AFHTTPSessionManager manager]; NSString *url = @"xxxxx"; [session GET:url parameters:nil progress:^(NSProgress * _Nonnull downloa原创 2016-05-10 18:17:42 · 673 阅读 · 0 评论 -
UIImageView添加圆角优化
imgView.layer.cornerRadius = 10;// 这一行代码是很消耗性能的imgView.clipsToBounds = YES;**这是离屏渲染(off-screen-rendering),消耗性能的**给UIImage添加生成圆角图片的扩展API:这是on-screen-rendering- (UIImage *)imageWithCor原创 2016-04-11 12:06:11 · 1486 阅读 · 0 评论 -
翻译:采用现代Objective-C
多年来,Objective-C语言已经发展和演变。虽然核心概念和实践保持不变,部分语言经历重大变化和改进。这些现代化提高类型安全、内存管理、性能、和其他方面的Objective-C,使你更容易编写正确的代码。采用这些变化是很重要的在你的现有的和未来的代码来帮助它变得更加一致,可读的,有弹性。Xcode提供了一个工具来帮助使你的一些结构性变化。但是在使用这个工具之前,你想翻译 2015-12-17 18:20:12 · 716 阅读 · 0 评论 -
Xcode 如何修改APP的名称
Bundle name - is folder name, where your app (including executable file and all resources) will be stored (Cool Program.app)。建议不要修改bundle nameBundle display name - is what will be shown on iPhone sc原创 2016-03-10 11:33:35 · 865 阅读 · 0 评论 -
UIViewController生命周期
其实,每当显示一个新界面时,首先会创建一个新的UIViewController对象,然后创建一个对应的全屏UIView,UIViewController负责管理这个UIViewUIViewController就是UIView的大管家,1.负责创建、显示、销毁UIView,2.负责监听UIView内部的事件,3.负责处理UIView与用户的交互UIViewCo原创 2015-03-01 18:37:16 · 582 阅读 · 0 评论 -
enum推荐使用模型
enum 建议使用 NS_ENUM 和 NS_OPTIONS 宏来定义枚举类型,参见官方的 Adopting Modern Objective-C 一文typedef NS_ENUM(NSInteger, CYLUserGender) { CYLUserGenderUnknown, CYLUserGenderMale, CYLUserGenderFemale,原创 2016-03-29 16:31:41 · 321 阅读 · 0 评论 -
iOS看看基础发现自己漏掉很多细节
1.收起键盘,还可以这样resignFirstResponder当叫出键盘的那个控件(第一响应者)调用这个方法时,就能退出键盘endEditing只要调用这个方法的控件内部存在第一响应者,就能退出键盘2.transform你经常使用么 (1)在开发中如果遇到需要移动控件位置、改变大小最好使用tranform属性(2)使用transform属性修改控件的位原创 2015-03-02 14:11:15 · 582 阅读 · 0 评论 -
FOUNDATION_EXPORT 或#define 或 extern
//我的.h文件FOUNDATION_EXPORT NSString * const kMyConstantString; FOUNDATION_EXPORT NSString * const kMyConstantString2;//.m文件是这样定义的NSString * const kMyConstantString = @"Hello";NSString * co原创 2015-02-15 16:36:24 · 6044 阅读 · 0 评论 -
ios9 3D Touch 实现
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ if (IOS_9_OR_LATER) { UIApplicationShortcutIcon *firstItemIcon = [UIApplicationS原创 2015-10-28 13:58:54 · 705 阅读 · 0 评论 -
调用短信给一段默认文字
#pragma mark - 调用sendSMS函数-(void)sendSmsInvite:(NSString*)phone{ BOOL canSendSMS = [MFMessageComposeViewController canSendText]; NSLog(@"can send SMS [%d]", canSendSMS); if (canSendSMS)原创 2015-06-24 17:27:31 · 548 阅读 · 0 评论 -
项目中跟键盘相关方法总结
增加点击事件 UITapGestureRecognizer* tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(hiddenKey)]; [_myTableView addGestureRecognizer:tap];触发方法- (void)hiddenKey { [se原创 2015-04-01 16:21:11 · 682 阅读 · 0 评论 -
UIAlertController 使用
//UIActionSheet is deprecated. Use UIAlertController with a preferredStyle of UIAlertControllerStyleActionSheet insteadUIActionSheet弃用。使用UIAlertController preferredStyle UIAlertControllerStyleAction原创 2015-03-12 10:04:54 · 1161 阅读 · 0 评论 -
iOS7之后修改状态栏颜色
/** * ios7之后修改状态栏颜色 * UIStatusBarStyleDefault 黑字 * UIStatusBarStyleLightContent 白字 * 目前只有以上俩个可以使用,其他都被废弃 * @return UIStatusBarStyle枚举 */-(UIStatusBarStyle)preferredStatusBarStyle{ ret原创 2015-03-08 17:21:33 · 446 阅读 · 0 评论 -
iOS小技巧->页面关系
@interface BaseViewController : UIViewController@end@implementation BaseViewController- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view from its原创 2015-01-06 10:56:42 · 395 阅读 · 0 评论 -
AppDelegate
@implementation AppDelegate// 当应用程序启动后将会调用该方法- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ // 创建UIWindow对象,并初始化该窗口的大小与主屏幕大小相同 // 程序原创 2015-01-05 17:42:55 · 473 阅读 · 0 评论 -
Objective-C中nil使用的最佳实践
2014-11-19 09:00 编辑: pockry 分类:iOS开发 来源:CocoaChina编译没有必要将nil作为初始值赋给变量1NSString *myString = nil;上面的代码与不带nil效果相同,所以让我们保持简洁:1NS转载 2015-01-04 15:07:30 · 404 阅读 · 0 评论 -
AppDelegate.m判断气泡是否显示
#pragma - 判断气泡是否显示- (void)isBubblesShow{ //请求判断是否登录 我的 气泡显示 UINavigationController *userCenterNav =(UINavigationController *)self.tabBarController.viewControllers.lastObject; UserCenterV原创 2015-02-04 14:03:45 · 490 阅读 · 0 评论 -
XCode6创建空项目方法(总结)
总结如下:1.创建:Single View Application2.找到Supporting Files文件,打开 Info.plist,删除 Launch screen interface file base name以及 Main Main storyboard file base name3.删除LaunchScreen.xib 以及Main.stor原创 2015-01-21 13:25:46 · 696 阅读 · 0 评论 -
调用系统通讯录 获得手机号
#pragma mark - 选取手机联系人-(void)selectPeople{ //这个变量用于记录授权是否成功,即用户是否允许我们访问通讯录 int __block tip = 0; //声明一个通讯簿的引用 ABAddressBookRef addBook =nil; //创建通讯簿的引用 addBook=ABAdd原创 2015-06-24 17:30:18 · 1047 阅读 · 0 评论 -
iOS读取通讯录
//读取所有联系人-(void)ReadAllPeoples{ //取得本地通信录名柄 ABAddressBookRef tmpAddressBook = nil; tmpAddressBook=ABAddressBookCreateWithOptions(NULL, NULL); dispatch_semaphore_t sema=dispatch_sema原创 2015-06-10 11:08:37 · 638 阅读 · 0 评论 -
重写navigationController
.h文件@property(nonatomic,weak) O2oBaseVC * parentVC; .m文件-(UINavigationController*)navigationController{ if(self.parentVC) { if(self.parentVC.parentVC) return self.pa原创 2015-05-25 15:18:30 · 486 阅读 · 0 评论 -
GCD 扫盲篇<转载>
GCD 扫盲篇GCD有四个概念:串行队列、并行队列、同步、异步四者。如下简介:这里不仅给出了不确定性,而且也给出了确定性。对于初学者而言,有时候因为那些不确定的东西所造成的疑问会像没有闸却在疾驰的汽车一样让人惊慌失措,而“确定性”就如同这救命的车闸一样,它能让你豁然开朗。名称功能特点确定性解释不确定性解释同步完成需要做的任原创 2015-11-12 17:44:12 · 640 阅读 · 0 评论 -
iOS开发 iOS9适配问题
在项目中info.plist 加入 NSAppTransportSecurity 类型 Dictionary然后在其中加入NSAllowsArbitraryLoads 类型Boolean 输入: YES加入LSApplicationQueriesSchemes 类型 Array在其中加人 类型 String 值: 比如 weixin原创 2015-09-17 12:02:19 · 459 阅读 · 0 评论 -
iOS开发 跳转到系统对应app设置(ios8)
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]]) { [[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplication原创 2015-09-16 13:43:26 · 542 阅读 · 0 评论 -
iOS开发 创建自己的UserAgent
- (void)createNewUserAgent{ UIWebView* tempWebView = [[UIWebView alloc] initWithFrame:CGRectZero]; NSString* userAgent = [tempWebView stringByEvaluatingJavaScriptFromString:@"navigator.userAg原创 2015-09-16 13:50:14 · 557 阅读 · 0 评论 -
iOS开发:LaunchScreen.xib好处
LaunchScreen:代替之前的启动图片 好处: 1.可以展示更多的东西 2.可以只需要出一个大尺寸的图片 启动图片的优先级 启动图片 程序中碰见模拟器尺寸不对,马上去找启动图片,默认模拟器的尺寸由启动图片决定。二、App IconsiOS 8 更新:Icon-Small@3x.png 87*87Icon-40@3x原创 2015-09-02 22:29:13 · 455 阅读 · 0 评论