//如果想排序以后再取,可以这样:NSSet *users = [groupUser users]; //如果是存的字典,则key后面写的是想按照哪个关键字进行排序 NSSortDescriptor *sd = [[NSSortDescriptor alloc] initWithKey:@"displayName" ascending:YES];NSArray *sortDescriptors = [NSArray arrayWithObjects:sd, nil];NSArray *…
接下来我们继续向下看 typedef struct { void *modelMeta; ///< _YYModelMeta void *model; ///< id (self) void *dictionary; ///< NSDictionary (json) } ModelSetContext; 这是一个c的结构体,在c中 void * 相当于 oc 中的 id 类型 那么 为什么使用c的结构体呢,最主要的使用场景就是我们需要同时使用多个参数的情况下,可以使用c的结构体 /**…
NSArray的Category 前言 项目中自己通过各种渠道及结合项目的经验整理了一套自己的工具包,里面有各种Category,及封装的方法,方便项目使用,今天先分享一下NSarray的Category. NSArray+LSCore.h #import <Foundation/Foundation.h> @interface NSArray (LSCore) #pragma mark - 取值 - (id)firstObject; - (id)randomObject; #pragma m…
原文:http://rypress.com/tutorials/objective-c/data-types/nsarray NSArray NSArray 是 Objective-C中最常用的数组类型.存储有序的对象集合, 并且提供方便的排序等接口去操作数据.在效率上面没有sets高,但是存储其中的数据保持有序. The basic collection classes of the Foundation Framework 像NSSet一样,NSArray是不可变的,所以你无法动态的增删其中…
版权声明:本文为博主原创文章,未经博主允许不得转载. 一.NSSet的创建和初始化 创建一个空的NSSet集合:+ (void)set; 用数组来创建NSSet集合:+ (id)setWithArray:(NSArray *)array; 创建具有一个元素的集合:+ (id)setWithObject:(id)object; 创建具有多个元素的集合:+ (id)setWithObjects:(id)firstObj, ...; 用集合来创建集合:+ (id)setWithSet:(NSSet *…
这个最典型的就是电话本,然后根据A-Z分组, 当然很多例子,不过现在发现一个很简洁易懂的: 1. 准备数据,定义一个dictionary来显示所有的内容,这个dictionary对应的value全是数组 也就是: A -> A1, A2... B  -> B1, B2... ... NSMutableDictionary *sections; 2. 创建所有的Keys BOOL found; // Loop through the books and create our keys for (…
[385][scrollView不接受点击事件,是因为事件传递失败] // // MyScrollView.m // Created by beyond on 15/6/6. // Copyright (c) 2015年 beyond.com All rights reserved. // 不一定要用继承,可以使用分类 #import MyScrollView.h #import CoView.h @implementation MyScrollView - (void)touchesBegan…
iOS开发中遇到的一些问题及解决方案[转载] 2015-12-29 [385][scrollView不接受点击事件,是因为事件传递失败] // //  MyScrollView.m //  Created by beyond on 15/6/6. //  Copyright (c) 2015年 beyond.com All rights reserved. //  不一定要用继承,可以使用分类 #import "MyScrollView.h" #import "CoView.…
第一:NSArrary 1.1:集合的基本方法 1.创建集合   NSArray 是不可变数组,一旦创建完成就不能够对数组进行,添加,删除等操作 NSArray * array = [[NSArray alloc] init];  2.通过构造方法的方式创建一个NSArray //在创建一个NSArray的时候,集合的最后一个元素一定是nil,判断nil决定集合的结尾 NSArray * array1 = [NSArray arrayWithObjects:@"one",@"…
OC中的集合有:NSArray 数组 NSDictionary 字典 NSSet 集合 第一:NSArrary 1.1:集合的基本方法 //1.创建集合 //NSArray 是不可变数组,一旦创建完成就不能够对数组进行,添加,删除等操作 NSArray * array = [[NSArray alloc] init]; //2.通过构造方法的方式创建一个NSArray //在创建一个NSArray的时候,集合的最后一个元素一定是nil,判断nil决定集合的结尾 NSArray * array1…
概要 Objective-C是一门面向对象的动态编程语言,主要用于编写iOS和Mac应用程序.关于Objective-C的编码规范,苹果和谷歌都已经有很好的总结: Apple Coding Guidelines for Cocoa Google Objective-C Style Guide 本文主要整合了对上述文档的翻译.作者自己的编程经验和其他的相关资料,为公司总结出一份通用的编码规范. 代码格式 使用空格而不是制表符Tab 不要在工程里使用Tab键,使用空格来进行缩进.在Xcode > P…
做项目的时候经常会用到标签,比如说现在很多项目中搜索历史用标签展示 和 选择某个产品的不同属性用标签展示....网上的有很多封装好的标签,但是作为一个上进的程序员,都希望能有一个自己写的.其实也是一种积累知识的过程.现在的这个标签是根据你的标签的搜字母来排序的.下载地址:https://github.com/liguoliangiOS/LGLTagsView.git先来看下效果: 下面的是代码说明和代码: (1)包括两个部分:LGLTagsFrame(计算标签的frame)  LGLTagsVi…
前言 public struct Array<Element> : CollectionType, MutableCollectionType, _DestructorSafeContainer public class NSArray : NSObject, NSCopying, NSMutableCopying, NSSecureCoding, NSFastEnumeration 在 Swift 语言中,数据在被存储进某个数组之前,类型必须明确,且与数组其他元素类型相同.在 Swift 语…
Objective-C 编码规范,内容来自苹果.谷歌的文档翻译,自己的编码经验和对其它资料的总结. 概要 Objective-C 是一门面向对象的动态编程语言,主要用于编写 iOS 和 Mac 应用程序.关于 Objective-C 的编码规范,苹果和谷歌都已经有很好的总结: Apple Coding Guidelines for Cocoa Google Objective-C Style Guide 本文主要整合了对上述文档的翻译.作者自己的编程经验和其他的相关资料,为公司总结出一份通用的编…
// // main.m // SortGroup // // Created by beyond on 14-10-26. // Copyright (c) 2014年 beyond.com All rights reserved. // 按GroupTag分组和 按Order字段排序 enabled表示不启用 #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepoo…
Objective-C 编码规范,内容来自苹果.谷歌的文档翻译,自己的编码经验和对其它资料的总结. 概要 Objective-C 是一门面向对象的动态编程语言,主要用于编写 iOS 和 Mac 应用程序.关于 Objective-C 的编码规范,苹果和谷歌都已经有很好的总结: Apple Coding Guidelines for Cocoa Google Objective-C Style Guide 本文主要整合了对上述文档的翻译.作者自己的编程经验和其他的相关资料,为公司总结出一份通用的编…
Objective-C 编码规范,内容来自苹果.谷歌的文档翻译,自己的编码经验和对其它资料的总结. 概要 Objective-C 是一门面向对象的动态编程语言,主要用于编写 iOS 和 Mac 应用程序.关于 Objective-C 的编码规范,苹果和谷歌都已经有很好的总结: Apple Coding Guidelines for Cocoa Google Objective-C Style Guide 本文主要整合了对上述文档的翻译.作者自己的编程经验和其他的相关资料,为公司总结出一份通用的编…
最近准备开始系统学习一个完整项目的开发流程和思路,在此之前,我们需要对iOS的开发变成规范进行更系统和详尽的学习,随意对编程规范进行了整理和学习.本文内容主要转载自:Objective-C-Coding-Guidelines-In-Chinese 此外,这篇文章所说的一些常见的编码习惯也可以参考一下:iOS开发总结之代码规范 Objective-C编码规范,内容来自苹果.谷歌的文档翻译,自己的编码经验和对其它资料的总结. 一 概要 Objective-C是一门面向对象的动态编程语言,主要用于编写…
前言 我们都知道,开发中会有这么一个过程,就是将服务器返回的数据转换成我们自己定义的模型对象.当然服务器返回的数据结构有xml类型的,也有json类型的.本文只讨论json格式的. 大家在项目中一般是怎么样将服务器返回的json转化成自己定义的模型类呢? 我在项目中一般都是使用的MJExtension. 本文讲解的也基本就是解读MJExtension中的部分源码. 好了,废话不多说,直接上代码,let's go 简单字典转模型 首先,从最简单的字典开始,例如我们需要将如下的字典转化成自定义的模型…
前言 iOS中常用的持久化存储方式有好几种: 偏好设置(NSUserDefaults) plist文件存储 归档 SQLite3 Core Data 沙盒 每个iOS应用都有自己的应用沙盒(应用沙盒就是文件系统目录),与其他文件系统隔离.应用必须待在自己的沙盒里,其他应用不能访问该沙盒.沙盒下的目录如下: Application:存放程序源文件,上架前经过数字签名,上架后不可修改 Documents: 保存应⽤运行时生成的需要持久化的数据,iTunes同步设备时会备份该目录.例如,游戏应用可将游…
Mantle makes it easy to write a simple model layer for your Cocoa or Cocoa Touch application.  Mantle can still be a convenient translation layer between the API and your managed model objects. 本文使用mantle作data model.并使用其对coredata的interface创建数据持久化的过程.…
int main(int argc, const charchar * argv[]) { @autoreleasepool { // 1.定义一个测试的字典数组 NSMutableArray *dictArray = @[ @{ @"FEnabled" : [NSNumber numberWithInt:1], @"FGroupTag" : [NSNumber numberWithInt:0], @"FOrder" : [NSNumber nu…
* 在IOS开发过程中,排序是我们经常遇到的问题,那么如何进行排序呢? * 在英文状态下,系统中有直接可以调用的方法.    例如:对数组[sss, aaa, bbb, ppp]进行排序,我们可以直接使用系统方法. NSMutableArray * array = [[NSMutableArray alloc]initWithObjects:@"sss",@"aaa",@"bbb",@"ppp",nil]; array = (…
[自编号:60][AutoLayout中,怎样让ImageView保持固定的宽高比?比如1:1] 先将imageViewframe手动写成:宽20,高20,再勾选Aspect Ratio加入宽高比约束 [查看原文] [2015-03-23 11:29:04 by beyond] [自编号:61][Cell中,先运行这个- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifie…
http://www.jianshu.com/p/0be6be50e461 基本概念 进程 进程是指在系统中正在运行的一个应用程序,而且每个进程之间是独立的,它们都运行在其专用且受保护的内存空间内,比如同时打开迅雷.Xcode,系统就会分别启动两个进程. 线程 一个人进程如果想要执行任务,必须得有至少一条线程,进程的所有任务都会在线程中执行,比如使用网易云音乐播放音乐,使用迅雷下载电影,都需要在线程中执行. 主线程 iOS 程序运行后,系统会默认开启一条线程,称为“主线程”或者“UI 线程”,主…
序言 招聘高峰期来了,大家都非常积极地准备着跳槽,那么去一家公司面试就会有一堆新鲜的问题,可能不会,也可能会,但是了解不够深.本篇文章为群里的小伙伴们去宝库公司的笔试题,由笔者整理并提供笔者个人参考答案.注意,仅供参考,不代表绝对正确. 参考答案不唯一,大家可以根据自己的理解回答,没有必要跟笔者的一样.参考笔者的答案,也许给你带来灵感! 1.对数组中的元素去重复 例如:   1 2 3   NSArray *array = @[@"12-11", @"12-11",…
一.CoreText的简介 CoreText是用于处理文字和字体的底层技术.它直接和Core Graphics(又被称为Quartz)打交道.Quartz是一个2D图形渲染引擎,能够处理OSX和iOS中图形显示问题.Quartz能够直接处理字体(font)和字形(glyphs),将文字渲染到界面上,它是基础库中唯一能够处理字形的模块.因此CoreText为了排版,需要将显示的文字内容.位置.字体.字形直接传递给Quartz.与其他UI组件相比,由于CoreText直接和Quartz来交互,所以它…
尽管OC是一门面向对象的语言,但是在你做开发的时候你会发现,并不是所有你用的frameworks都是面向对象的.有些是用C写的,例如Address Book的API,接下来让我们去学习一下Address Book. 我们在我们的APP中可以Address Book API来读取或者修改用户联系人的信息(这和我们在手机通讯录上的效果是一样的). 因为Address Book API是基于C语言的,它不是使用的对象,而且它也利用了一些其他的类型,在这里,你将会熟悉一下几个API: ABRecordR…
一,效果图. 二,工程图. 三,代码. RootViewController.h #import <UIKit/UIKit.h> @interface RootViewController : UIViewController <UITableViewDelegate,UITableViewDataSource> { UITableView * city; NSDictionary * dic; } @property(nonatomic,strong) NSArray * key…
原文链接:http://www.jianshu.com/p/4411f507dd9f 介绍:本文介绍的CoreData不在AppDelegate中创建,在程序中新建工程使用,即创建本地数据库,缓存数据,隔几个小时后更新数据库 1. 创建CoreData:本人命名为ZHZMOdel,插入一张表:News:如图 备注:创建方式:command+N->ios/coredate->DataModel 介绍一下数据类型:true/false用Boolean,如果是NSArray或字典,用Transfor…