)index; //通过某个下标获取字典中的元素的键 - (M13GenericType(KeyType, id<NSCopying>))keyAtIndex:(NSUInteger)index; // )indexOfEntry:(NSDictionary M13Generics(KeyType, ObjectType) *)entry; //通过元素的值在某个范围内查询下标 - (NSUInteger idx,BOOL *stop))predicate; //同上 只是这个方法可以设置枚举类型 /* typedef NS_OPTIONS(NSUInteger, NSEnumerationOptions idx,BOOL *stop))predicate; //在一定下标集合中进行查找 - (NSUInteger)indexOfObjectAtIndices:(NSIndexSet *)indexSet idx,BOOL *stop))predicate; //在范围内进行比较查询 - (NSUInteger)indexOfObject:(M13GenericType(ObjectType, id))
NSArray中属性与方法: //获取数组中元素个数 @property (readonly) NSUInteger count; //通过下标获数组中的元素 - (ObjectType)objectAtIndex :(NSUInteger)index; //初始化方法 - (instancetype)init; //通过C语言风格的数组创建NSArray对象 需要注意,C数组中需要为Objective对象,cnt inRange:(NSRange)range; //获取与给定元素相同的元素在数组中的最小下标值 - (NSUInteger)indexOfObjectIdenticalTo:(ObjectType) anObject; //在一定范围内 获取与给定元素相同的元素在数组中的最小下标值 - (NSUInteger)indexOfObjectIdenticalTo:(ObjectType)anObject , NSUInteger idx, BOOL *stop))predicate NS_AVAILABLE(10_6, 4_0); //同上 在一定下标集合中遍历 - (NSUInteger)indexOfObjectAtIndexes
插入文字标签在index位置: - (void)insertSegmentWithTitle:(NSString *)title atIndex:(NSUInteger)segment animated *)image forSegmentAtIndex:(NSUInteger)segment; 获取标签图片 - (UIImage *)imageForSegmentAtIndex:(NSUInteger 根据索引获取标签宽度 - (CGFloat)widthForSegmentAtIndex:(NSUInteger)segment; 设置标签内容的偏移量 - (void)setContentOffset :(CGSize)offset forSegmentAtIndex:(NSUInteger)segment; 注意:这个偏移量指的是标签的文字或者图片 根据索引获取变标签内容的偏移量 - (CGSize forSegmentAtIndex:(NSUInteger)segment; 根据索引获取当前标签是否有效 - (BOOL)isEnabledForSegmentAtIndex:(NSUInteger
diskCapacity 设置磁盘缓存容量 path 磁盘缓存路径 内容缓存会在应用程序退出后 清空 磁盘缓存不会 */ - (instancetype)initWithMemoryCapacity:(NSUInteger )memoryCapacity diskCapacity:(NSUInteger)diskCapacity diskPath:(nullable NSString *)path; //获取某一请求的缓存 (void)removeCachedResponsesSinceDate:(NSDate *)date NS_AVAILABLE(10_10, 8_0); //内存缓存容量大小 @property NSUInteger memoryCapacity; //磁盘缓存容量大小 @property NSUInteger diskCapacity; //当前已用内存容量 @property (readonly) NSUInteger currentMemoryUsage; //当前已用磁盘容量 @property (readonly) NSUInteger currentDiskUsage; 专注技术,热爱生活,交流技术,也做朋友
+ (UIImage *)compressImageSize:(UIImage *)image toByte:(NSUInteger)maxLength { UIImage *resultImage = image; NSData *data = UIImageJPEGRepresentation(resultImage, 1); NSUInteger lastDataLength = 0; while )(resultImage.size.width * sqrtf(ratio)), (NSUInteger)(resultImage.size.height * sqrtf(ratio))); // Use NSUInteger to prevent white blank UIGraphicsBeginImageContext(size); // Use image to draw (drawInRect 需要注意的是绘制尺寸的代码CGSize size = CGSizeMake((NSUInteger)(resultImage.size.width * sqrtf(ratio)), (NSUInteger
. /** * 二分查找循环实现 */ - (NSUInteger)binarySearch:(NSArray<NSNumber *> *)srcArray number:(NSNumber * )des { NSUInteger low = 0; NSUInteger high = srcArray.count - 1; NSInteger middle = 0; )binarySearch:(NSArray<NSNumber *> *)srcArray key:(NSNumber *)key low:(NSUInteger)low high:(NSUInteger )insertSearch:(NSArray<NSNumber *> *)srcArray number:(NSNumber *)des { NSUInteger low = 0; NSUInteger )insertSearch:(NSArray<NSNumber *> *)srcArray key:(NSNumber *)des low:(NSUInteger)low high:(NSUInteger
NSRange的定义 typedef struct _NSRange { NSUInteger location; NSUInteger length; } NSRange; NSRange是一个结构体 他们都是NSUInteger类型。 而NSUInteger类型的定义如下: #if __LP64__ || TARGET_OS_EMBEDDED || TARGET_OS_IPHONE || TARGET_OS_WIN32 || NS_BUILD _32_LIKE_64 typedef unsigned long NSUInteger; #else typedef unsigned int NSUInteger; #endif 例子: 下面这个例子
NSRange定义 Declaration: typedef struct _NSRange { NSUInteger location; NSUInteger length; } NSRange ; 创建NSRange的方法定义 Declaration: NSRange NSMakeRange ( NSUInteger loc, NSUInteger len ); 例如获取一个数组的一个子集
req]=NO,所以我们要压缩小于32Kb 压缩方法为: #pragma mark - 压缩图片 + (UIImage *)compressImage:(UIImage *)image toByte:(NSUInteger imageWithData:data]; if (data.length < maxLength) return resultImage; // Compress by size NSUInteger data.length; CGFloat ratio = (CGFloat)maxLength / data.length; CGSize size = CGSizeMake((NSUInteger )(resultImage.size.width * sqrtf(ratio)), (NSUInteger)(resultImage.size.height * sqrtf(ratio))); // Use NSUInteger to prevent white blank UIGraphicsBeginImageContext(size)
typedef NS_ENUM(NSUInteger, SMStudentGender) { SMStudentGenderMale, SMStudentGenderFemale }; typedef BOOL(^SatisfyActionBlock)(NSUInteger credit); @interface SMStudent : NSObject @property (nonatomic name:(NSString *)name; - (SMStudent *)gender:(SMStudentGender)gender; - (SMStudent *)studentNumber:(NSUInteger )number; //积分相关 - (SMStudent *)sendCredit:(NSUInteger(^)(NSUInteger credit))updateCreditBlock; - (SMStudent 下面我的具体的实现代码 @interface SMCreditSubject : NSObject typedef void(^SubscribeNextActionBlock)(NSUInteger
property (nonatomic, readonly, assign) CYLSex sex; (instancetype)initWithName:(NSString *)name age:(NSUInteger )age sex:(CYLSex)sex; (instancetype)userWithName:(NSString *)name age:(NSUInteger)age sex:(CYLSex)sex 动画时间 -> NSTimeInterval 同时考虑到 age 的特点,应使用 NSUInteger ,而非 int 。 举例说明: // .m文件 @implementation CYLUser (instancetype)initWithName:(NSString *)name age:(NSUInteger)age )age sex:(CYLSex)sex; (instancetype)initWithName:(NSString *)name age:(NSUInteger)age; (instancetype)
获取省份 [self.rootArray enumerateObjectsUsingBlock:^(NSDictionary *obj, NSUInteger idx, BOOL * _Nonnull self.arrayProvince objectAtIndex:12][@"cities"]]; [citys enumerateObjectsUsingBlock:^(NSDictionary *obj, NSUInteger arrayWithArray:self.arrayCity[0][@"areas"]]; [countyAry enumerateObjectsUsingBlock:^(NSDictionary *obj, NSUInteger self.arrayArea firstObject][@"streets"]]; [streetsAry enumerateObjectsUsingBlock:^(NSString *obj, NSUInteger
NSMutableArray array]; [self.searchResult enumerateObjectsUsingBlock:^(NSString * _Nonnull obj, NSUInteger // 按照顺序模糊搜索 [items enumerateObjectsUsingBlock:^(GBSortSearchCountryItem * _Nonnull obj, NSUInteger } return sortItems; } 根据需要过滤的类型进行过滤 /** 计算精确搜索出来的权重 @param range 搜索字符串的位置 @return 权重 */ - (NSUInteger )exactMatchCountWithRange:(NSRange)range { NSUInteger currentIndex = range.location; NSUInteger )fuzzySearchLevelTagWithItem:(GBSortSearchCountryItem *)item { NSUInteger count = 0; // 权重 NSUInteger
; [key getCString:keyPtr maxLength:sizeof(keyPtr) encoding:NSUTF8StringEncoding]; NSUInteger ; [key getCString:keyPtr maxLength:sizeof(keyPtr) encoding:NSUTF8StringEncoding]; NSUInteger decodingTable == NULL) return nil; memset(decodingTable, CHAR_MAX, 256); NSUInteger length = 0; NSUInteger i = 0; while (i < [data length]) { char buffer[3] = kAlgorithmKeySize = kCCKeySizeAES256; const NSUInteger kPBKDFRounds = 10000; // ~80ms on an iPhone
)from; //从0下标开始截取到指定位置的字符串 - (NSString *)substringToIndex:(NSUInteger)to; //截取指定范围的字符串 - (NSString *) *)startPtr end:(nullable NSUInteger *)lineEndPtr contentsEnd:(nullable NSUInteger *)contentsEndPtr forRange *)startPtr end:(nullable NSUInteger *)parEndPtr contentsEnd:(nullable NSUInteger *)contentsEndPtr forRange encoding:(NSStringEncoding)encoding; //6.指定缓存区转换 - (BOOL)getBytes:(nullable void *)buffer maxLength:(NSUInteger )maxBufferCount usedLength:(nullable NSUInteger *)usedBufferCount encoding:(NSStringEncoding)encoding
range:(NSRange)rangeOfReceiverToSearch searchString 这个参数是我们需要查找的字符串 mask typedefNS_OPTIONS(NSUInteger )index inResultString:(NSString *)resultString { NSUInteger indexCount = 0; NSRange XCTAssertTrue(result4); } - (BOOL)isEqualTrue:(NSString *)findString atIndedx:(NSUInteger findRange, compareRange); } 解决办法 - (NSRange)rangeOfString:(NSString *)string atIndex:(NSUInteger )index inResultString:(NSString *)resultString { NSUInteger indexCount = 0; NSRange
(nonatomic, assign, readonly) CGSize size; //GIF动画的封面帧图片的尺寸 @property (nonatomic, assign, readonly) NSUInteger ) NSDictionary *delayTimesForIndexes; // GIF动画中的每帧图片的显示时间集合 @property (nonatomic, assign, readonly) NSUInteger frameCount; //GIF动画的帧数量 @property (nonatomic, assign, readonly) NSUInteger frameCacheSizeCurrent; // 当前被缓存的帧图片的总数量 @property (nonatomic, assign) NSUInteger frameCacheSizeMax; // 允许缓存多少帧图片 // Intended to should be available immediately from the cache. // 取出对应索引的帧图片 - (UIImage *)imageLazilyCachedAtIndex:(NSUInteger
(nonatomic, assign, readonly) CGSize size; //GIF动画的封面帧图片的尺寸 @property (nonatomic, assign, readonly) NSUInteger ) NSDictionary *delayTimesForIndexes; // GIF动画中的每帧图片的显示时间集合 @property (nonatomic, assign, readonly) NSUInteger frameCount; //GIF动画的帧数量 @property (nonatomic, assign, readonly) NSUInteger frameCacheSizeCurrent; // 当前被缓存的帧图片的总数量 @property (nonatomic, assign) NSUInteger frameCacheSizeMax; // 允许缓存多少帧图片 // Intended to should be available immediately from the cache. // 取出对应索引的帧图片 - (UIImage *)imageLazilyCachedAtIndex:(NSUInteger
[[subject should] haveCountOf:(NSUInteger)aCount] [[subject should] haveCountOfAtLeast:(NSUInteger)aCount ] have:(NSUInteger)aCount] collectionKey] [[[subject should] haveAtLeast:(NSUInteger)aCount] collectionKey ] receive:(SEL)aSelector withCountAtMost:(NSUInteger)aCount] [[subject should] receive:(SEL)aSelector [[subject should] receive:(SEL)aSelector withCount:(NSUInteger)aCount arguments:(id)firstArgument, .. [[subject should] receive:(SEL)aSelector andReturn:(id)aValue withCount:(NSUInteger)aCount arguments:
,用于举例说明下面各个常用方法如何使用 NSArray *arr = [NSArray arrayWithObjects:@"abc",@"edf",@"hij", nil]; 获取集合元素个数- (NSUInteger )count; NSLog(@"count = %lu",[arr count]); 输出结果:count = 3 获得index位置的元素- (id)objectAtIndex:(NSUInteger lastObject; NSLog(@"last = %@",[arr lastObject]); 输出结果:last = hij 查找anObject元素在数组中的位置(如果找不到,返回-1)- (NSUInteger ; NSLog(@"index = %lu",[arr indexOfObject:@"hij"]); 输出结果:index = 2 在range范围内查找anObject元素在数组中的位置- (NSUInteger )idx1 withObjectAtIndex:(NSUInteger)idx2; NSMutableArray *arr = [NSMutableArray arrayWithObjects:@"abc