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

iOS工程师必看的 20 道 面试题

其修饰的对象引用计数增加1。该对象只要引用计数不为0则不会被销毁。当然强行将其设为nil可以销毁它。 weak表示指向但不拥有该对象。其修饰的对象引用计数不会增加。...当一个对象被声明为 strong ,就表示父层级对该对象有一个强引用的指向。此时该对象的引用计数增加1。 weak 代表着弱引用。...在Swift和Objective-C的混编项目中,如何在Swift文件调用Objective-C文件已经定义的方法?如何在Objective-C文件调用Swift文件定义的方法?...一般情况Xcode会在Swift项目中第一次创建Objective-C文件自动创建ProjectName-Bridging-Header.h文件。...具体过程是在Objective-C对象调用方法self.tableview reload,发生了两件事。

3.7K40

Swift 周报 第十二期

访问变量运行一次函数的最佳方法[11] 确保 viewDidLoad 的嵌套闭包在函数运行之前完成的最佳方法[12] 推荐博文 在 iOS 16 中使用 SwiftUI Charts 创建折线图...如何在 SwiftUI 创建条形图[15] 摘要: 本文展示了如何创建一个垂直条形图,其中 Y 轴表示每个类型的值。...如下图: 如何在 SwiftUI 创建水平条形图[16] 摘要: 根据 UI 设计以及交互需求,有时候统计图需要调整 X 和 Y 轴。.../59813 [10]提议:标准库的稳定排序: https://forums.swift.org/t/pitch-document-sorting-as-stable/59880 [11]访问变量运行一次函数的最佳方法...-16/ [15]如何在 SwiftUI 创建条形图: https://swdevnotes.com/swift/2021/how-to-create-bar-chart-swiftui/ [16]货拉拉

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

Python 图形化界面基础篇:添加复选框( Checkbutton )到 Tkinter 窗口

复选框通常用于提供二进制选择,例如启用/禁用某些功能或选择多个项目。 让我们开始学习如何在 Tkinter 窗口中添加复选框。...完整示例代码 以下是一个完整的示例代码,演示如何创建一个 Tkinter 窗口并在其中添加一个复选框,并在按钮点击获取复选框的值: import tkinter as tk # 创建Tkinter窗口...我们定义了一个名为 button_click 的按钮点击事件处理程序,它会在按钮被点击执行。在这个示例,我们使用 get() 方法获取复选框的值,并根据值更新标签的文本。...command=custom_function # 设置复选框选中的响应函数 ) # 将自定义复选框添加到窗口 custom_checkbox.pack() 效果图: 在上述示例...通过创建和自定义复选框,你可以为你的应用程序增加更多的交互性和功能。在接下来的教程,我们将继续学习如何添加其他 GUI 元素,处理不同类型的事件,并构建更丰富和功能强大的图形用户界面应用程序。

76150

IOS Widget(4-2):创建可配置小组件(动态修改配置数据)

在 xxx.intentdefinition文件增加一个动态类型 实现 Intent Handler 提供动态配置数据 在项目中添加”Intens Extension“   要实现动态修改配置数据,...在 xxx.intentdefinition文件增加一个动态类型   上一篇文章,我们使用的静态类型(枚举)来实现修改Timer类型。要支持动态修改,则需要使用动态类型。...在CUSTOM INTENTS中选择 TimeTypeConfiguration 新增一个动态参数 dynamicTimeType 在 Intent 编辑器,选中“Dynamic Options”复选框...接下来我们要修改DynamicTimer这个Target的IntentHandler.swift的代码。...这个类在 // TimeTypeConfigurationIntent.swift文件,这个文件是Xcode生成的。

3.2K11

Mac开发之 Cocoa 绑定 入门

运行一下,你会发现并没有预想的结果,如果你使用Objective-C来构建工程,就会发现运行的效果正确,这是因为Swift默认是关闭了KVO的属性监听,我们只需要开启就可以了,在Person类,给...score属性前面,添加一个关键字dynamic,然后再来试试运行吧 (9)设置Swift的KVO 开启KVO (10) 通过改变score的值来影响Label和Slider 实际项目中,更常用的方式是...score值变化,更新label和slider它们的显示.下面我们通过点击鼠标来修改一下son的socre值,在ViewController,添加下面的代码后看看结果吧....,用于验证设置是否生效,界面的视图大概类似下面的样子: 添加UI控件 (2)设置复选框的绑定,对复选框的Valus属性进行绑定操作 绑定复选框的Value到默认系统 (3)设置slider的绑定(设置slider...控件的enable属性绑定),大体如下图: 绑定slider的Enabled到默认系统 启动应用,改变复选框的状态,注意滑块的启用或禁用状态,然后退出应用并重新启动,注意观察复选框,它已经记住了用户的上一次操作状态

1.8K20

【自问自答】关于 Swift 的几个疑问

Swift 版本是:4.0.3。不同版本的 Swift,可能无法复现问题。 个人记录,仅供参考,不保证严格意义上的正确性。 swift ,如何在函数内,声明 static 变量 ?...若方法的参数、属性类型为Swift特有、无法映射到Objective-C的类型(Character、Tuple),则此方法、属性无法添加dynamic修饰(会编译错误) 参考: http://www.infoq.com...在使用 extension 扩展其他模块定义的类,最好还是给自己扩展的方法加上特定前缀,不然第三方模块万一暴露的同名方法,自己的代码就彻底跪了....疑问: 为什么函数定义外的 closure 不会引起作用域内其他变量引用计数的变化?...注意: 当前复现此问题用的是 swift 4.0.3 版本,不同版本的 closure 的行为可能不一致.

1.4K60

Chrome设置断点的各种姿势

在JavaScript代码设置条件断点 当知道了如何在行号上单击来添加断点,已经能满足最最最基本的调试了。 但如果遇到一些特殊情况,断点添加起来不是那么的舒服的时候要肿么办呢?...(不禁回想起刚工作,有类似的问题,我当时的处理方式就是一手托腮,另一手放在F8键上,狂按数十下后正襟危坐,开始调试) 显然,Chrome已经帮我们想到了这种场景,我们可以通过添加一些条件断点来避免一些无意义的断点...结合上边的场景,我们就在输入框中键入如下表达式,当循环计数器count全等于8,会暂停页面并进入调试。 回车确认后我们就得到了一个金黄色的矩形来标识。 ?...点击断点对应的复选框可以禁用断点,右键选择Remove breakpoint也可删除断点。 以及一些对断点的其他操作也可以通过右键菜单来实现,禁用激活所有的断点之类的。 ?...就是勾选复选框即可,当触发某个事件,便会跳转到对应的代码中去。 截图展开部分就是XHR请求周期的各种状态事件 ?

14.7K80

【基本功】深入剖析Swift性能优化

Reference counting Swift通过引用计数管理堆对象内存,当引用计数为0Swift确认没有对象再引用该内存,所以将内存释放。...对于基本数据类型的Struct来说,没有堆内存分配和引用计数的管理,性能更高更安全,但是对于复杂的结构体,: // Reference Counting // Struct containing references...这里看到,包含了引用的结构体相比Class,需要管理双倍的引用计数。每次将结构体作为参数传递给方法或者进行直接拷贝,都会出现多份引用计数。下图可以比较直观的理解: ?...备注:包含引用类型的结构体出现Copy的处理方式 Class在拷贝的处理方式: ? 引用计数总结 Class在堆区分配内存,需要使用引用计数器进行内存管理。...所以再次强调此种优化适用于在运行时不会修改泛型类型,即不能同时支持一个方法包含line和point两种类型。

1.4K10

使用HTML和CSS编写无JavaScript的Todo应用

important; } 为了相对简单一些,复选框首先位于item的DOM。因此,所有可见的UI可以通过~选择器来匹配。...根据完成状态来过滤item TodoMVC可以让您选择查看已完成或未完成的待办事项。我们也可以使用复选框来实现这一点,但是使用URL哈希更简洁些。...important; } 所以,除了复选框,我们还可以在URL存储和访问状态!...在顶部输入完毕,在底部添加todos 将最后一个未完成的item目移动到列表的顶部,其位置为:absolute,并显示“添加”按钮。 计算未完成item条数 CSS有一个可爱的功能,称为计数器。...之前有尝试过,但是CSS计数器不计算被隐藏的元素,所以当筛选出已完成的item(因为所有未完成的项目都不可见),会看到未完成的item总数量值为0。

2.9K20

使用HTML和CSS编写无JavaScript的Todo应用

important; } 为了相对简单一些,复选框首先位于item的DOM。因此,所有可见的UI可以通过~选择器来匹配。...根据完成状态来过滤item TodoMVC可以让您选择查看已完成或未完成的待办事项。我们也可以使用复选框来实现这一点,但是使用URL哈希更简洁些。...important; } 所以,除了复选框,我们还可以在URL存储和访问状态!...在顶部输入完毕,在底部添加todos 将最后一个未完成的item目移动到列表的顶部,其位置为:absolute,并显示“添加”按钮。 计算未完成item条数 CSS有一个可爱的功能,称为计数器。...之前有尝试过,但是CSS计数器不计算被隐藏的元素,所以当筛选出已完成的item(因为所有未完成的项目都不可见),会看到未完成的item总数量值为0。

3.6K70

何在LinkedIn上创建公司页面

但LinkedIn也有一些要求,你在更改你的公共网址必须牢记这些要求: 您每30天只能编辑和更改公司页面的URL一次 您需要特别编辑URL,因为更改企业名称不会自动更改页面URL LinkedIn并不总是需要允许您选择任何...•公司规模:在此下拉列表,您需要根据当前员工人数选择公司规模,0-1、2-10、11-50等。...A–潜在客户开发 资料来源:官方 你知道吗,80%的B2B(企业对企业)潜在客户来自LinkedIn?...根据LinkedIn的统计数据,平均而言,一个客户在网上阅读大约10条内容来做出任何购买决定。这就是为什么你需要创造大量的信息和有吸引力的内容,案例研究,短视频,电子书等,以达到你的目标受众。...它应该包括有价值的统计数据和有吸引力的行业观点。 包括一个行动号召:在你的帖子中加入一些有意思的东西,它能产生紧迫感并鼓励观众点击

1.7K20

混淆原理与实践指南

本文将深入探讨混淆的原理,以及如何在项目中集成混淆技术,确保代码的安全性和稳定性。...混淆原理 ️混淆的原理在于在代码编译阶段将符号(方法名、属性名等)替换成随机生成的字符串,从而使得源代码难以理解和分析,增加了逆向工程的难度。...不限制OC,Swift,Flutter,React Native,H5类app。...代码混淆接下来到代码混淆页面,可以对ipa文件的类、方法、方法参数、变量等进行全面修改混淆,使其名称成为没有意义的乱码,极大地增加应用破解的难度。...选择要处理的ipa文件,点击左侧的代码菜单,里面可以分别对oc类,方法,swift类,方法等进行选择配置要处理的内容文件混淆然后到文件混淆页面,改页面支持对代码的各种资源图片、js、mp3、xib、sb

15910

Java Swing用户界面组件:复选框+ 滑块+组合框+边界+单选按钮

用户通过点击某个复选框来选择相应的选项,再点击则取消选择。当复选框获得焦点,用户也可以通过按空格键来切换选择。...例如: bold.setSelected(true); isSelected方法将返回每个复选框的当前状态。如果没有选择则为false,否则为true。 当用户点击复选框将触发一个动作事件。...注意,按钮组仅仅控制按钮的行为,如果想把这些按钮组织在一起布局,需要把它们添加到容器JPanel。 看一下图9-15和图9-16,会发现单选按钮的外观不同于复选框。...在示例程序在构造器调用addItem,实际上可以在任何位置调用它。...当点击,可以增加或减少文本域的值(见图9-20)。 在微调控制器(spinner)的值可以是数字、日期、来自列表的值以及任何可以用上一个和下一个决定值的序列。

6.7K10

苹果推出突破性新技术,使开发人员更加轻松快捷地创建应用

Swift代码自动生成,当修改此代码后,对UI的更改会立即显示在可视化设计工具。 现在,开发人员可以看到UI在组装,测试和优化代码的外观和行为的自动实时预览。...开发人员第一次可以使用模型个性化更新设备上的机器学习模型。这种尖端技术使开发人员有机会在不影响用户隐私的情况下,提供个性化功能。 ?...SiriKit增加了对第三方音频应用的支持,包括音乐,播客和有声读物,因此开发人员现在可以将Siri直接集成到他们的iOS,iPadOS和watchOS应用,使用户能够通过简单的语音命令控制他们的音频...MapKit现在为开发人员提供了许多新功能,向量叠加,兴趣点过滤,摄像机缩放和声像限制,以及对黑暗模式的支持。...除了针对SwiftUI的语言增强功能外,Swift 5.1还增加了模块稳定性,这是在Swift构建二进制兼容框架的关键基础。

2.1K20

AVKit框架详细解析(二) —— 基于视频播放器的画中画实现(一)

是时候学习如何在PiP中观看 RickTV! ---- Adding Background Modes 要在您的应用程序启用画中画功能,您需要添加Background Modes功能。...点击视频以显示自定义播放器控制器。 很好! 视频在自定义控制器播放。 但是……如果您点击画中画按钮,则什么也不会发生。 别担心,你现在会解决这个问题的。...stopPictureInPicture() 当用户点击适当的按钮,这些方法告诉画中画控制器启动或停止画中画。...打开视频并点击按钮以启动画中画。 太棒了! PiP 开始在自定义控制器播放,但您还没有完成。...对于这两种类型的播放器控制器,当用户在画中画窗口中点击Restore,代理扩展会调用此方法。

2.7K10

windows服务器性能监控工具、方法及关键指标

打开控制面板内的管理工具,在管理工具内打开性能监视器,出现如下界面(各版本的window操作系统的性能监视器的界面可能略有不同): 点击中上部的绿色加号图标 ?...,可以添加一项监视内容,添加界面如下图所示,可以在左侧选中需要监控的内容,点击添加,即可监控该内容。选中下方的“显示描述”复选框,可以查看被监控内容的具体描述信息。 ?...考虑到现在的处理器速度非常快,因此,在处理器可能会用大量时间为系统时钟采样间隔之间的线程提供服务,% Processor Time 会低估处理器利用率。...当恰好进行采样后即向计时器发出信号,更可能对应用程序做出不准确地度量,基于工作负荷的计时器应用程序是一个这样的示例。...是用页数计算的,以便在不用做转换的情况下就可以同其他页计数: Memory\\Page Faults/sec 做比较,这个值包括为满足错误而在文件系统缓存(通常由应用程序请求)的非缓存映射内存文件检索的页

3.5K60

iOS学习--NSObject详解

、NSObject.h方法分类 1.加载及初始化方法 2.消息发送方法 3.复制方法 4.判断方法 5.内存管理方法 2.1、加载及初始化方法 /** 运行时加载类或分类调用该方法, 每个类只会调用一次...NSString, NSMethodSignature, NSInvocation; #pragma mark - 协议部分 @protocol NSObject /** 判断两个对象是否相等, 相等返回...OBJC_ARC_UNAVAILABLE; /** 获取对象描述信息 */ @property (readonly, copy) NSString *description; @optional /** 获取对象在调试器的描述信息...use object initializers instead"); /** 释放对象, 当对象的引用计数为0会调用此方法 */ - (void)dealloc OBJC_SWIFT_UNAVAILABLE...("use 'aClass.self' instead"); /** 获取对象描述信息 */ + (NSString *)description; /** 获取对象在调试器的描述信息 */ + (NSString

1K20

窥探Swift编程之别样的HelloWorld

从今天就开始陆陆续续的发布一些有关Swift语言的东西,虽然目前在公司项目开发Objective-C还是iOS开发的主力军,但是在不久的将来Swift将会成为iOS开发的新生宠儿。...所以在在Xcode6.0+版本的Playground上玩一玩Swift还是很有必要的。在接下来发表的博客主要是总结一下自己在翻译《Swift编程入门经典》(清华大学出版社出版)这本书所学到的东西。...在写代码不要按部就班的去Coding,要学会思考,学会举一反三,学会自我的扩充。...3.键入ProductName :SwiftDemo,Organiztion Name, Organization identifier一般为你所在公司域名倒序com.cnblogs.lizelu,...下面就是我们创建好的工程,Swift语言文件的后缀名是swift,它不在像Objective-C的又.h和.m文件 ? 二.如何在上面的创建的工程上实现HelloWorld。

1.8K80
领券