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

-makeWindowControllers是初始化NSPersistentDocument的最佳位置吗?

是的,-makeWindowControllers 是初始化 NSPersistentDocument 的最佳位置。在 NSPersistentDocument 中,-makeWindowControllers 方法负责创建和配置文档的窗口控制器。通常,您应该在此方法中创建窗口控制器,并将其添加到文档的 windowControllers 属性中。

例如,您可以在 -makeWindowControllers 方法中执行以下操作:

代码语言:objective-c
复制
- (void)makeWindowControllers {
    NSWindowController *windowController = [[NSWindowController alloc] initWithWindowNibName:@"MyDocumentWindowController"];
    [self addWindowController:windowController];
}

在这个例子中,我们创建了一个名为 "MyDocumentWindowController" 的窗口控制器,并将其添加到了文档的 windowControllers 属性中。

请注意,-makeWindowControllers 方法只会在需要时调用,例如当用户打开一个新的文档窗口时。因此,您不需要担心不必要的性能开销。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

继承是代码复用的最佳方案吗?

在客户端代码使用时,面对的是子类,这种继承叫实现继承: Child object = new Child(); 还有一种看待继承的角度:从父类往下看,客户端使用时,面对的是父类,这种继承叫接口继承: Parent...不推荐实现继承: 继承很宝贵,Java只支持单继承 一个类只能有一个父类,一旦继承的位置被实现继承占据,再想做接口继承就难了 实现继承通常也是一种受程序设计语言局限的思维方式 很多语言,不使用继承,...2 面向组合编程 可以组合的根因:获取产品信息、生成报表服务本是两件事(分离关注点)。 你要是看出是两件事了,就不会把它们放一起。 分解是设计的第一步,分解粒度越小越好。...DCI是对象的Data数据, 对象使用的Context场景, 对象的Interaction交互行为三者简称, 是一种特别关注行为的模式(可对应GoF行为模式),而MVC模式是一种结构性模式,DCI可使用演员场景表演来解释...复用方式背后的编程思想:面向组合编程。它给我们提供了一个不同的视角,但支撑面向组合编程的是分离关注点。将不同关注点分离,每个关注点成为一个模块,在需要时组装。

60350

最佳的广告预算配比良方是7:3吗?

02新锐品牌是成长阶段品牌与流量比应为3:7~5:5 经历了优胜劣汰的重重考验,最终能够存活下来,光靠喝奶和辅食,是不能支撑企业健康成长的。...那是因为初期便宜的流量用完了,而互联网信息是海量的,通过最初的流量红利所能抢占的只能是大海中一瓢的用户。...仅仅通过流量打到“购买者”是远远不够的,品牌的势能是一种社会场能,是喝水想到农夫山泉,酱油想到海天,电动车想到特斯拉,是一种众所周知,是一种条件反射。...谈及品牌逆势崛起的经验,波司登董事局主席兼总裁高德康曾说,做产品是做现在,做品牌是做未来,而品牌的力量是冲破内卷的关键。...需要强调的是,品牌广告切忌分散式投放,如果预算允许,建议选择集中引爆的方式,以高强度的方式去输出品牌信息,物理空间是电梯和地铁,线上空间是CCTV和热门综艺,必须让消费者避无可避的看到品牌广告,在同一时期以不断重复的方式印刻消费者的品牌印象

45410
  • 【FinTech】机器学习是发展金融科技公司的最佳方式吗?

    金融是地球上没有人不需要的东西。这是生活的基本必需品,因为每个人都需要钱来吃饭,旅行和买东西。尽管技术变得更聪明,人们也变得更聪明。目前的金融市场已经由人和机器组成。...数据科学家实施ML的主要目标是促使人力的减少。今天机器学习非常普遍,你可能每天都会不知不觉地使用它几十次。它希望减少人们阅读,理解和分析大数据所需的时间。...因此chatbots为小公司提供了一个很好的机会来减少他们的开支并帮助公司的收入增长。 股市预测 ? 每个人都想通过购买股票来致富。 但是你买了合适的股票吗? 那些实际上会涨?...我们都需要某人的帮助才能完成我们需要的任务,无论是在谷歌还是人类的帮助下。借助机器学习功能的数字助理,高管和经理可以比以往更轻松地完成工作。...无论是金融服务公司选择投资开发虚拟助理平台进行自己的运营,还是为了作为其客户服务包的一部分提供给平台,投资回报可能都很大。

    86730

    为机器学习模型设置最佳阈值:0.5是二元分类的最佳阈值吗

    其他象限是模型错误。 改变模型的阈值将改变混淆矩阵中的值。...为了便于比较和评估,我们现在将定义两个标准化指标(它们的值在0.0和1.0之间)。 精度precision是标记的观察事件的比例(例如,我们的模型认为有害的帖子,它们是有害的)。...F1分为精度与查全率的调和平均值,F1分的最佳值为1.0,最差值为0.0;F1对精度和召回率都是相同对待的,所以你可以看到它在两者之间保持平衡。...所以在为我们的二元分类器选择阈值时,我们必须在精度或召回率上妥协,因为没有一个分类器是完美的。我们来讨论一下如何推理选择合适的阈值。 选择最佳阈值 右边的数据会产生噪声(较大的阈值)。...总结 二元分类器的最佳阈值是针对业务结果进行优化并考虑到流程限制的阈值。通过本文中描述的过程,你可以更好地为用例决定最佳阈值。 如果你对这篇文章有任何问题,请随时留言。

    1.8K10

    为机器学习模型设置最佳阈值:0.5是二元分类的最佳阈值吗

    其他象限是模型错误。 改变模型的阈值将改变混淆矩阵中的值。...为了便于比较和评估,我们现在将定义两个标准化指标(它们的值在0.0和1.0之间)。 精度precision是标记的观察事件的比例(例如,我们的模型认为有害的帖子,它们是有害的)。...F1分为精度与查全率的调和平均值,F1分的最佳值为1.0,最差值为0.0;F1对精度和召回率都是相同对待的,所以你可以看到它在两者之间保持平衡。...所以在为我们的二元分类器选择阈值时,我们必须在精度或召回率上妥协,因为没有一个分类器是完美的。我们来讨论一下如何推理选择合适的阈值。 选择最佳阈值 右边的数据会产生噪声(较大的阈值)。...总结 二元分类器的最佳阈值是针对业务结果进行优化并考虑到流程限制的阈值。通过本文中描述的过程,你可以更好地为用例决定最佳阈值。 如果你对这篇文章有任何问题,请随时留言。

    83230

    一张图让您秒懂 PD是怎样计算出region的最佳机架放置位置

    答 : 让Region知道自己的放置位置(城市、机房、数据中心、机架) 在Tidb中 PD是怎样计算出region的最佳机架放置位置的 ?...划红线处,由1 replication.location_labels中的值 推导出len为2 2. 当p1,p2在第三点位上位置重叠时,该点位数值计为-1 3....当p1,p2同dc ,不同host时计为2 4. diff(p1,p3) 对应六个位置的数值推导原理同 diff(p1,p2) 将len=2, diff(p1,p2),diff(p1,p3) 在六个位置上对应的不同数值代入...score的计算公式可得出Best Location 111112.jpg 既上图中将划红线处的 1,2,3(p3上面的红线)计算结果代入,得出P1在不同位置的score分值。...conclusion : p1在host1、host2时计算出的Score值最大值,证明放在这两个位置中任意一个位置,当一个数据中心灾难时,仍然有2个副本存在,保障了raft的多数派存在,保障了数据安全性

    71700

    Mac OSX 给现有的应用追加基于文档的功能

    ,具体是哪一种类型,关键在于创建工程的时候,你是否选中下图中的Create Document-based Application选项: 创建工程界面 基于文档的应用与非文档应用的主要区别...Document-based Application选项,也就是说,你的项目是非基于文档的Application,但由于某种原因(请不要问我是什么原因...重写其中的几个父类方法: makeWindowControllers() :加载应用的窗口控制器(通常是NSWindowController或其子类)...ViewController // 对编辑控件进行初始化赋值 editController.editTextView.string = readText } Extensions: 这个是用来标识你的应用可以打开或保存是的文件类型,可以根据你的实际需求填写,(也可是你自己定义的文件扩展名,比如:.mydoc

    64420

    拥有100万亿参数GPT-4将比GPT-3大500倍:超大型的神经网络是实现AGI的最佳方式吗?

    相比之下,OpenAI 相信以大型数据集为基础并在大型计算机上训练的大型神经网络是实现 AGI 的最佳方式。...一个拥有 1750 亿个参数比 GPT-2 大 100 倍的语言模型。 GPT-3 发布后是当时最大的神经网络,并且现在仍然是最大的神经网络。它的语言专长和无数能力令大多数人感到惊讶。...给定一个可扩展的算法,在这种情况下是transformers——GPT 系列背后的基本架构——它可能有一条通向AGI的直接路径,该路径可以基于该算法训练越来越大的模型。...但大型模型只是 AGI 难题的一部分。训练它们需要大量的数据集和大量的计算能力。 当机器学习社区开始揭示无监督学习的潜力时,数据不再是瓶颈。...没有人知道更大的神经网络是否会越来越接近它。但不可否认的是虽然可能还要等几年,但GPT-4 将是值得关注的东西,让我们拭目以待。

    89420

    粒子群优化算法(PSO)

    ,想想一旦粒子群中间有一个粒子找到了一个最优解,是不是所有的粒子会一窝蜂朝着这个方向而去了,而在这个去的过程中,万一某个粒子找到了一个更好的解,那它还会走吗?...用简单的图表示如下: ---- ---- 2、粒子群的算法步骤 粒子群的核心部分就是上面说到的那两个公式,一个是速度的更新方式,另一个是位置的更新方式,重点还是速度的更新方式; 总结来说,粒子群的算法步骤如下...: 初始化粒子群个体; 计算每个个体的适应度值(函数值)作为评判好坏的标准; 找到每个个体自己在所有迭代过程中的最优解Pbest; 找到所有个体在所有迭代过程中的最优解Zbest; 根据速度公式更新速度...; 根据位置公式更新位置; 重复步骤二直至迭代次数结束 这里有几个参数需要说一下, 关于速度V,限制速度的范围,比如需要设置一个最大速度,防止更新过快; 关于c1与c2,这两个参数代表学习因子,决定跟随历史优秀解的能力...个体最佳 fitnessgbest = fitness; %个体最佳适应度值 fitnesszbest = bestfitness; %全局最佳适应度值 %% VI.

    71710

    粒子群优化算法(PSO)和matlab代码实现

    ,想想一旦粒子群中间有一个粒子找到了一个最优解,是不是所有的粒子会一窝蜂朝着这个方向而去了,而在这个去的过程中,万一某个粒子找到了一个更好的解,那它还会走吗?...用简单的图表示如下: ---- ---- 2、粒子群的算法步骤 粒子群的核心部分就是上面说到的那两个公式,一个是速度的更新方式,另一个是位置的更新方式,重点还是速度的更新方式; 总结来说,粒子群的算法步骤如下...: 初始化粒子群个体; 计算每个个体的适应度值(函数值)作为评判好坏的标准; 找到每个个体自己在所有迭代过程中的最优解Pbest; 找到所有个体在所有迭代过程中的最优解Zbest; 根据速度公式更新速度...; 根据位置公式更新位置; 重复步骤二直至迭代次数结束 这里有几个参数需要说一下, 关于速度V,限制速度的范围,比如需要设置一个最大速度,防止更新过快; 关于c1与c2,这两个参数代表学习因子,决定跟随历史优秀解的能力...个体最佳 fitnessgbest = fitness; %个体最佳适应度值 fitnesszbest = bestfitness; %全局最佳适应度值 %% VI.

    91220

    NullPointerException:Attempt to Invoke a Method on a Null Object Reference

    在这篇文章中,我们将详尽分析NPE的成因,展示如何检测和修复此类错误,并提供预防NPE的最佳实践。无论你是Java新手还是资深开发者,本文都将为你提供有价值的见解。...当一个变量被初始化为null时,它并不指向任何对象的内存位置。...NPE的典型场景 未初始化的对象:试图访问一个尚未被初始化的对象。 对象被显式设置为null:在代码中某处,变量被设置为null,后续操作未进行空值检查。...在这篇文章中,我们将详尽分析NPE的成因,展示如何检测和修复此类错误,并提供预防NPE的最佳实践。无论你是Java新手还是资深开发者,本文都将为你提供有价值的见解。...当一个变量被初始化为null时,它并不指向任何对象的内存位置。

    13410

    粒子群算法的matlab实现(一)

    其流程图如下: Step1:确定一个粒子的运动状态是利用位置和速度两个参数描述的,因此初始化的也是这两个参数; Step2: 每次搜寻的结果(函数值)即为粒子适应度,然后记录每个粒子的个体历史最优位置和群体的历史最优位置...首先我们需要画出函数的图像,如下图: 多峰问题对于算法的检验效果最佳,而上图显然是一个简单的非等距、非等高的多峰一元函数。...位置和速度的初始化即在位置和速度限制内随机生成一个N x d 的矩阵,对于此题,位置初始化也就是在0~20内随机生成一个50×1的数据矩阵,而对于速度则不用考虑约束,一般直接在0~1内随机生成一个50×...此处的位置约束也可以理解为位置限制,而速度限制是保证粒子步长不超限制的,一般设置速度限制为[-1,1]。...粒子群的另一个特点就是记录每个个体的历史最优和种群的历史最优,因此而二者对应的最优位置和最优值也需要初始化。其中每个个体的历史最优位置可以先初始化为当前位置,而种群的历史最优位置则可初始化为原点。

    67820

    数学建模暑期集训18:粒子群算法

    % 随机初始化粒子所在的位置在定义域内 end v = -vmax + 2*vmax .* rand(n,narvs); % 随机初始化粒子的速度(这里我们设置为[-vmax,vmax]) 计算适应度...(x(i,:)); % 调用Obj_fun1函数来计算适应度(这里写成x(i,:)主要是为了和以后遇到的多元函数互通) end pbest = x; % 初始化这n个粒子迄今为止找到的最佳位置(...是一个n*narvs的向量) ind = find(fit == max(fit), 1); % 找到适应度最大的那个粒子的下标 gbest = x(ind,:); % 定义所有粒子迄今为止找到的最佳位置...(是一个1*narvs的向量) Obj_fun1为自定义的目标函数 更新粒子速度和位置并计算适应度 %% 迭代K次来更新速度与位置 fitnessbest = ones(K,1); % 初始化每次迭代得到的最佳的适应度...xlabel('迭代次数'); disp('最佳的位置是:'); disp(gbest) disp('此时最优值是:'); disp(Obj_fun1(gbest)) 粒子群算法优化思路 非线性递减惯性权重

    75420

    如何在算法比赛中获得出色的表现 :改善模型的5个重要技巧

    您的数据不平衡吗?如果您有一个聪明的CV策略,并且仅依靠它而不是靠排行榜得分(尽管这可能很诱人),那么您很可能会在私人最终得分上获得惊喜。...尝试hyperparameter搜索 超参数搜索可帮助您找到模型应具有的最佳参数(学习率,softmax的温度等),以获得最佳的性能,而无需手动进行数千次无聊的实验。...但是,它的优点是可以让您在测试中包括先验知识:如果您想在1e-4和1e-1之间找到最佳学习率,但是您假设它必须在1e-3附近,则可以绘制样本来自以1e-3为中心的对数正态分布。...仍然在优化过程中,您可以将Lookahead包裹在优化器中;先行算法包括前进k个优化步骤,找到最佳性能的位置,然后朝该最佳方向退后一步并从此处重新开始训练。...在开始训练之前,为权重找到一个很好的初始化方法:如果您使用的是流行的体系结构,请从基线权重(例如图像识别中的ImageNet)开始,如果不是,请尝试分层顺序单位方差初始化(LSUV,最好的初始化方法-理论上

    92540

    自动机器学习之Auto-Keras与AutoML入门指南

    根据你的输入数据集,神经架构搜索算法将自动搜索最佳架构和相应参数。神经架构搜索基本上是用一组自动调整模型的算法取代深度学习工程师/从业者!...“NAS搜索空间”以获得更优化的单元; 如果AutoML系统的用户是经验丰富的深度学习从业者,那么他们可能会决定: 1.在训练数据集的一个非常小的子集上运行NAS; 2.找到一组最佳的架构构建块/单元;...现在让我们初始化Auto-Keras的训练时间列表: ? 上述代码是限定了一组训练-TIMES,包括[1,2,4,8,12,24]小时。...请确保使用本教程的“下载”部分下载源代码。 从那里打开终端,导航到下载源代码的位置,然后执行以下命令: ? ? 在这里你可以看到我们的脚本正在指示Auto-Keras执行六组实验。...超过8-12小时的训练不会提高我们的准确度,这意味着我们已达到饱和点并且Auto-Keras无法进一步优化。 三、Auto-Keras和AutoML值得吗? ? Auto-Keras值得吗?

    1.8K10

    Java常用构建对象的三种方式

    前言 当我们面对具有大量可选成员变量的 Java 类时,创建这些对象的最佳方法是什么?通常有三种方法: 伸缩构造函数,JavaBean模式和构建器模式。 2....username和address互换位置依然成功初始化了对象,不会显式的引发构建错误,这是不合理的。...IDEA 参数列表提示功能 另外如果参数列表比较长,有七八个的话,代码是非常冗长的。 难道构造函数一无是处吗,当然不是。...大多数情况下这种方式是可以胜任的。它的缺点在于我们需要两步来完成对象的创建工作,另外它缺乏创建不可变对象的能力。 4....Builder声明了一系列方法来设置对象属性的值,然后将其返回Builder本身,完成所有调用后,我们调用Builder的无参build方法进行目标对象的初始化。

    59810

    JavaScript 数据结构与算法之美 - 十大经典排序算法汇总

    选择排序空间复杂度为 O(1),是一种原地排序算法。 第二,选择排序是稳定的排序算法吗 ? 选择排序每次都要找剩余未排序元素中的最小值,并和前面的元素交换位置,这样破坏了稳定性。...所以,选择排序是一种不稳定的排序算法。 第三,选择排序的时间复杂度是多少 ? 无论是正序还是逆序,选择排序都会遍历 n2 / 2 次来排序,所以,最佳、最差和平均的复杂度是一样的。...,注意这一步实现的基础实际上是: // 假设结点 i 以下的子堆已经是一个大顶堆,heapify 函数实现的 // 功能是实际上是:找到 结点 i 在包括结点 i 的堆中的正确位置。...整个堆排序的过程,都只需要极个别临时存储空间,所以堆排序是原地排序算法。 第二,堆排序是稳定的排序算法吗 ?...第二,计数排序是稳定的排序算法吗 ? 计数排序不改变相同元素之间原本相对的顺序,因此它是稳定的排序算法。 第三,计数排序的时间复杂度是多少 ? 最佳情况:T(n) = O(n + k) 。

    57211

    python粒子群算法的实现「建议收藏」

    大家好,又见面了,我是你们的朋友全栈君。 参考博客: http://blog.csdn.net/zuochao_2013/article/details/53431767?...所有的粒子都由一个fitness-function确定适应值以判断目前的位置好坏。每一个粒子必须赋予记忆功能,能记住所搜寻到的最佳位置。每一个粒子还有一个速度以决定飞行 的距离和方向。...在粒子群算法中,适应度不一定要越大越好,而是确定适应度的好坏,只需要根据是适应度好坏确定最佳位置。 在迭代过程中,会有粒子跑出范围,在这种情况下,一般不强行将粒子重新拉回到初始化解空间。...因为即使粒子跑出空间,随着迭代的进行,如果在初始化空间内有更好的解存在,那么粒子也可以自行返回到初始化空间。...(self.x) self.p = self.x # 个体的最佳位置 self.pg = self.x[np.argmin(fitness)] # 全局最佳位置

    47130

    MATLAB 粒子群算法,例题与常用模版

    我们首先聚焦与粒子本身,或许全部粒子研究起来很复杂,但单个粒子的属性是很简单的。 首先,每个粒子包含两个基本信息,Position(位置) & Velocity(速度)。...仅有上述位置与速度两个信息还不够,我们之前提到过,每一个粒子是会学习的。...第二部分为“认知(cognition)”部分,反映了粒子对自身历史经验的记忆,代表粒子由向自身历史最佳位置逼近的趋势。...第三部分为“社会(social)”部分,反映了粒子间协同合作与知识共享的群体历史经验,代表粒子有向群体或领域历史最佳位置逼近的趋势。 5....算法的基本流程 初始化粒子群,包括群体规模N,每个粒子的位置 x i x_i xi​和速度 v i v_i vi​。 计算吗每一个粒子的适应度值 F i t [ i ] Fit[i] Fit[i]。

    77030
    领券