首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

编码篇-数组的相关使用

优雅的获取数组的最大值、最小值 NSMutableArray* array = [NSMutableArray array];for (int i = 0; i < 10; i++) { CGFloat...* d1 = [NSSortDescriptor sortDescriptorWithKey:@"age" ascending:NO]; NSSortDescriptor * d2 = [NSSortDescriptor...enumerateObjectsUsingBlock:(void (^)(id obj, NSUInteger idx,BOOL *stop))block 同上面的方法一项,区别在于,这里多添加了一个参数,用来标示 是从前向后遍历,还是从后往前遍历...NSLog(@"obj===%@==",obj); } 返回一个NSEnumerator (迭代器)对象,这个对象类似一个指针,可以用来遍历真个数据,所不同的是,这个指针,是从后向前遍历...- (NSEnumerator *)reverseObjectEnumerator; 获取数组中的子数组 -(NSArray *)subarrayWithRange:(NSRange)range;

82120
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    优化在 SwiftUI List 中显示大数据集的响应效率

    item.timestamp, format: .dateTime) .frame(minHeight:40) } } 重新运行,再次进入列表视图,我们竟然得到了如下的结果...使用了 id 修饰符相当于将这些视图从 ForEach 中拆分出来,因此丧失了优化条件。 总之,当前在数据量较大的情况下,应避免在 List 中对 ForEach 的子视图使用 id 修饰符。...解决方案一 从 iOS 15 开始,SwiftUI 为 List 添加了更多的定制选项,尤其是解除了对列表行分割线设置的屏蔽且添加了官方的实现。...var body: some View { Text("Bottom") .frame(width: 0, height: 0) } } 运行修改后的代码结果如下...除非没有其他选择,否则我并不推荐大家对 UIKit ( AppKit ) 控件进行重新包装,应使用尽可能微小的侵入方式对 SwiftUI 的原生控件进行补充和完善。

    9.3K20

    对印度某电子商务公司从LFI到数据库获取的渗透测试过程

    从LFI漏洞入手 本次渗透测试的目标比较确定,最初我偏向去发现其中的本地文件包含漏洞(LFI),所以我着重对其中的文件交互功能和特性进行了深入的测试分析,很巧的是,我发现了该公司一个针对不同移动设备显示.../etc/passwd,哇,竟然有读写权限,除了/etc/passwd,还能读取到其它服务端敏感文件: 而且,我还可以读取到各种Linux系统文件、配置文件和访问日志信息,这样一来,还能深入获取到用户的...系统部署了AWS ElasticBeanstalk: 这个线索让我有了深入渗透的决心,我们可以用上述SSRF方式来具体找找一些AWS实例,如MetaData或User Data: 利用上述SSRF方式,从“...http://169.254.169.254/latest/dynamic/instance-identity/document”的系统服务API中,还可获取到一些AWS账号ID和云服务区域信息,如下...最终,这次从LFI到SSRF,再到Elastic Beanstalk实例,最后再到S3 bucket数据库权限获取的操作,导致了上万名目标公司客户的敏感密钥凭据信息泄露。

    1.5K50

    iOS CoreData (一) 增删改查

    Core Data是iOS5之后才出现的一个框架,本质上是对SQLite的一个封装,它提供了对象-关系映射(ORM)的功能,即能够将OC对象转化成数据,保存在SQLite数据库文件中,也能够将保存在数据库中的数据还原成...NSEntityDescription 表格实体结构 ①、自己创建模型文件时需要以下代码来手动生成上下文,关联数据库 //创建数据库 - (void)createSqlite{ //1、创建模型对象 //获取模型路径...返回需要删除的对象数组 NSArray *deleArray = [_context executeFetchRequest:deleRequest error:nil]; //从数据库中删除...*pre = [NSPredicate predicateWithFormat:@"sex = %@", @"美女"]; request.predicate = pre; // 从第几页开始显示...*ageSort = [NSSortDescriptor sortDescriptorWithKey:@"age"ascending:YES]; NSSortDescriptor *numberSort

    1.2K70

    iOS CoreData (一) 增删改查

    Core Data是iOS5之后才出现的一个框架,本质上是对SQLite的一个封装,它提供了对象-关系映射(ORM)的功能,即能够将OC对象转化成数据,保存在SQLite数据库文件中,也能够将保存在数据库中的数据还原成...NSEntityDescription 表格实体结构 ①、自己创建模型文件时需要以下代码来手动生成上下文,关联数据库 //创建数据库 - (void)createSqlite{ //1、创建模型对象 //获取模型路径...返回需要删除的对象数组 NSArray *deleArray = [_context executeFetchRequest:deleRequest error:nil]; //从数据库中删除...*pre = [NSPredicate predicateWithFormat:@"sex = %@", @"美女"]; request.predicate = pre; // 从第几页开始显示...*ageSort = [NSSortDescriptor sortDescriptorWithKey:@"age"ascending:YES]; NSSortDescriptor *numberSort

    1.1K80

    老司机 iOS 周报 #79 | 2019-08-12

    本文从原理出发,介绍了抖音 iOS 客户端团队是如何通过静态扫描和运行时 trace 找到启动时调用的函数,然后修改编译参数完成二进制文件的重新排布。...NSSortDescriptor 的改动: 现在,在 Swift Foundation 中包含了 NSSortDescriptor 的实现,同时它与 Objective-C 中对应部分兼容。...因为有部分的 API 改动,所以推荐有用到 NSSortDescriptor 的开发者看一下对应的文档。...是一个可以用来辅助调试 Auto Layout 问题的网站,它能够对我们调试应用时出现的约束歧义信息进行解析并可视化显示。...swift api-digester -diagnose-sdk --input-paths "dir1" -input-paths "dir2" 就能比较两个编译产物的 API 区别,生成类似下面的结果

    1K30

    iOS中,系统相册的那些事

    :可简单理解为对ALAsset的封装,对于给定的ALAsset都至少会对应一个ALAssetRepresentation,通过ALAsset的实例方法 defaultRepresentation获得对应的...,包括最近删除、相机相册、最爱相册等等)中的一个; 4.PHFetchResult:表示一系列资源结果的集合,也可以是相册资源集合,一般情况下,可以从PHCollection或PHAsset的类方法中获取...PHFetchOptions *allPhotoOptions = [[PHFetchOptions alloc] init]; allPhotoOptions.sortDescriptors = @[[NSSortDescriptor...PHAssetCollection类 PHAssetCollection *assetCollection = (PHAssetCollection *)collection; //从每个智能相册中获取资源集合...PHFetchOptions *allPhotoOptions = [[PHFetchOptions alloc] init]; allPhotoOptions.sortDescriptors = @[[NSSortDescriptor

    1.1K20

    iOS开发照片框架详解(二)-- PhotoKit

    PhotoKit 是一套比 AssetsLibrary 更完整也更高效的库,对资源的处理跟 AssetsLibrary 也有很大的不同。...,并按资源的创建时间排序 PHFetchOptions *options = [[PHFetchOptions alloc] init]; options.sortDescriptors = @[[NSSortDescriptor...NSDictionary *info) { // 得到一张 UIImage,展示到界面上 }]; 结合上面几个代码片段上看,PhotoKit 相对 AssetsLibrary 主要有三点重要的改进: 从...在 AssetsLibrary 中,相册和资源是对应不同的对象(ALAssetGroup 和 ALAsset),因此获取相册和获取资源是两个完全没有关联的接口。...PhotoKit 返回资源结果时,同时返回了资源的元数据,获取元数据在 AssetsLibrary 中是很难办到的一件事。

    1.3K80

    iOS开发照片框架详解(二)-- PhotoKit

    PhotoKit 是一套比 AssetsLibrary 更完整也更高效的库,对资源的处理跟 AssetsLibrary 也有很大的不同。...,并按资源的创建时间排序 PHFetchOptions *options = [[PHFetchOptions alloc] init]; options.sortDescriptors = @[[NSSortDescriptor...NSDictionary *info) { // 得到一张 UIImage,展示到界面上 }]; 结合上面几个代码片段上看,PhotoKit 相对 AssetsLibrary 主要有三点重要的改进: 从...在 AssetsLibrary 中,相册和资源是对应不同的对象(ALAssetGroup 和 ALAsset),因此获取相册和获取资源是两个完全没有关联的接口。...PhotoKit 返回资源结果时,同时返回了资源的元数据,获取元数据在 AssetsLibrary 中是很难办到的一件事。

    1.5K80

    MySQL---数据库从入门走向大神系列(十一)-Java获取数据库结果集的元信息、将数据表写入excel表格

    //使用动态代理代理conn对象,实现对close方法的拦截 Object obj = Proxy.newProxyInstance(...--返回结果为零意味着没有限制或限制是未知的 System.out.println(dm.getMaxStatements()); // 获取此驱动程序的主 JDBC 版本号...sheet = book.createSheet("表一"); HSSFRow row4 = sheet.createRow(3);//行数为下标加1 //该方法的参数值是从0...开始的---真正的表格中的序号是从1开始标示 HSSFCell cell5 = row4.createCell(4); FileOutputStream fout =...,在一个结果集操作的内部进行其它结果集操作 //如果有事务,一个结果集的回退或提交可能会波及另一个 ResultSet rs = dm.getTables(dbName,

    2K10

    iOS中,系统相册的那些事

    :可简单理解为对ALAsset的封装,对于给定的ALAsset都至少会对应一个ALAssetRepresentation,通过ALAsset的实例方法defaultRepresentation获得对应的...,包括最近删除、相机相册、最爱相册等等)中的一个; 4.PHFetchResult:表示一系列资源结果的集合,也可以是相册资源集合,一般情况下,可以从PHCollection或PHAsset的类方法中获取...PHFetchOptions *allPhotoOptions = [[PHFetchOptions alloc] init]; allPhotoOptions.sortDescriptors = @[[NSSortDescriptor...判断是否是PHAssetCollection类 PHAssetCollection *assetCollection = (PHAssetCollection *)collection; //从每个智能相册中获取资源集合...PHFetchOptions *allPhotoOptions = [[PHFetchOptions alloc] init]; allPhotoOptions.sortDescriptors = @[[NSSortDescriptor

    1.4K40

    iOS开发之表视图爱上CoreData

    (1)我们要实现对通讯录的增删改查,主要需求入下图所示: ?   ...a.在TableViewController我们需要声明如下两个属性,一个用于获取上下文,一个用于存储返回结果 1 2 3 4 //声明通过CoreData读取数据要用到的变量 @property (strong...:NSStringFromClass([Person class])];   //定义分组和排序规则 NSSortDescriptor *sortDescriptor = [[NSSortDescriptor...1.把更新页面删掉,做如下修改,点击添加和修改都跳转到我们的编辑页面,同时添加一个自定义Button,点击Button时,我们会调用ImagePickerController来从手机相册获取图片: ?...completion:^{}]; }       (4)选完图片把头像设置成用户选中的按钮,并dismiss到原来界面 1 2 3 4 5 6 7 8 9 10 11 12 13 14 //实现图片回调方法,从相册获取图片

    2.2K80

    在 Core Data 中查询和使用 count 的若干方法

    三、从结果集合中获取 count 数据 有时在获取数据集之后想同时查看数据集的 count,可以直接利用集合的 count 方法来实现。...在 SwiftUI 下,使用@FetchRequest 获取的结果集,也可以使用上述方式。 如果设置了 fetchLimit ,可能无法获得正确的 count 结果。...四、获取单条记录某对多关系的 count 数据 如果你的对象模型中设置了对多关系,调用关系属性的 count 方法,可以获取单条记录某对多关系的对象数量。...五、使用对多关系的 count 设置谓词 对多关系的 count 也经常被用来作为谓词的条件使用。下面的代码将只返回 attachments(对多关系) count 大于 2 的结果。...十二、将分组后的 count 数据用作筛选条件 如果想对方法十一中获取的结果集进行筛选,除了通过代码操作结果数组外,利用 Core Data 对 having 的支持,直接在 SQLite 中进行将更加的高效

    4.7K20

    macOS开发之NSTableView的应用详解

    - (void)sizeToFit; //提供了这个属性,会在列标题那里显示一个排序按钮 点击列标题后可以进行排序操作(会回调相关协议方法) @property (nullable, copy) NSSortDescriptor...需要注意,如果只实现这两个方法,则NSTableView会自动从列对象NSTableColume中取具体的行视图,通过dataCellForRow方法。...NSTableRowView *)rowView forRow:(NSInteger)row; //cell-base的TableView相关delegate方法 /* cell将要渲染时调用的回调,可以在其中对cell...*/ - (void)tableView:(NSTableView *)tableView didClickTableColumn:(NSTableColumn *)tableColumn; /* 对列进行拖拽改变顺序时调用的方法...NSTableViewNoColumnAutoresizing = 0, //平分 NSTableViewUniformColumnAutoresizingStyle, //从后往前调整

    4.8K21
    领券