我正在尝试调用具有文本字段的警报控制器.但我想立即显示数字键盘,因为用户只应输入数字.我尝试了以下但它不起作用.
let alert = UIAlertController(title: "New Rating", message: "Rate this!", preferredStyle: UIAlertControllerStyle.Alert)
let cancelAction = UIAlertAction(title: "Cancel", style: .Default, handler: { (action: UIAlertAction!) in })
let saveAction = UIAlertAction(title: "Save", style: .Default, handler: { (action: UIAlertAction!) in
let textField = alert.textFields![0] as UITextField
textField.keyboardType = UIKeyboardType.NumberPad
self.updateRating(textField.text)
})
alert.addTextFieldWithConfigurationHandler { (textField: UITextField!) in }
alert.addAction(cancelAction)
alert.addAction(saveAction)
self.presentViewController(alert, animated: true, completion: nil)
Run Code Online (Sandbox Code Playgroud) 我想知道是否可以在今天的小部件中更新计时器的文本标签.我环顾四周但没有帮助我.
我的应用需要在不同时间向用户显示一些信息.我决定使用AlertControllers,但我无法同时显示两个警报控制器.因此,我需要知道是否显示警报控制器,关闭它并打开另一个警报控制器.
到目前为止我已经这样做了.我正在使用self.presentedViewController检查是否显示AlertController.但我无法弄清楚如何关闭它.我试过了
self.presentedViewController?.removeFromParentViewController()
Run Code Online (Sandbox Code Playgroud)
和
self.presentedViewController?.delete(self.presentedViewController)
Run Code Online (Sandbox Code Playgroud)
没有运气.有人可以帮帮我吗?谢谢
我有一个C代码来计算两组节点之间的距离(每个节点三个坐标),即使我的代码已经足够快,我想用并行计算来增加它.我已经找到了一些关于openMP的信息,我现在正试图使用它,但是有点奇怪.没有omp,代码cpu时间是20s,添加两个pragma行需要160s!怎么会发生?
我在这里附上我的代码
float computedist(float **vG1, float **vG2, int ncft, int ntri2, int jump, float *dist){
int k = 0, i, j;
float min = 0;
float max = 0;
float avg = 0;
float *d = malloc(3*sizeof(float));
float diff;
#pragma omp parallel
for(i=0;i<ncft;i+=jump){
#pragma omp parallel
for(j=0;j<ntri2;j++){
d[0] = vG1[i][0] - vG2[j][0];
d[1] = vG1[i][1] - vG2[j][1];
d[2] = vG1[i][2] - vG2[j][2];
diff = sqrt(pow(d[0],2) + pow(d[1],2) + pow(d[2],2));
if(j==0)
dist[k] = diff;
else
if(diff<dist[k])
dist[k] = diff;
}
avg …Run Code Online (Sandbox Code Playgroud) 我有一个非常好的和棘手的问题.我需要使用非常快的算法对齐两个网格.给定mesh1和mesh2我想找到我需要如何traslate并将mesh1旋转到mesh2的相同位置.首先,我使用两个网格的惯性矩来做到这一点,但如果第二个网格与第一个网格类似但有一些缺失部分,则算法不起作用.换句话说,取两个相同的网格,并从其中一个切掉相同的部分.
我想用C语言编写代码,因为我需要在多平台机器(linux/win)上执行它,并以非常快的方式执行:必须将其放入GA算法中.
这两个网格采用STL(立体绘图)格式(二进制或ascii),但使用其他类型的文件格式可能很有用.
你知道怎么做这个东西吗?
问题更新:
首先,我非常感谢你们所有的建议.我在我的机器上下载了一个安装PCL并成功编译了ICP(教程)算法,取自PCL网站.但现在我对此有一些疑问,也许是因为对我来说是一件全新的事情.健身的4x4矩阵输出是什么意思?我应该期待一个旋转矩阵和一个traslational矢量..
我希望你们中的一些人可以帮助我.如果您需要任何其他信息,请询问.
我是C编程的新手.我有这个问题,我不明白.看来windows下的字符串是以与linux完全不同的方式处理的,为什么呢?
Thant是我的代码
#include <stdio.h>
#include <string.h> // compare strings
void addextname(char *str1, char *str2, char *nome1){
int i,j;
i = 0;
while (str1[i]!='.') {
nome1[i] = str1[i];
i++;
}
j = 0;
while (str2[j]!='\0') {
nome1[i] = str2[j];
i++;
j++;
}
}
int main()
{
char str1[9]="file.stl";
char str2[9]="name.stl";
int len1 = strlen(str1);
int len2 = strlen(str2);
char nome1[len1+len2+1];
addextname(str1,str2,nome1);
printf("%s %s %s\n",str1,str2,nome1);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我的目的是在其扩展名(.stl)中读取输入文件名,并为其保留该扩展名添加一些字符.在linux下我没有问题,在Windows下输出文件名被无法正确保存.我的编译线是
gcc modstr.c -std=c99 -o strings
Run Code Online (Sandbox Code Playgroud)
我非常感谢你的回答!
我在这里发现了一个类似的问题对我没有帮助,所以我问自己.我有一个matlab脚本,在linux下使用nohup命令完美地工作.不幸的是,我还需要在Windows上运行它.但我无法理解为什么我的命令仍然不起作用.我的脚本做了一个循环,但在第一次它停止给我一个关于java或其他东西的错误.我必须告诉你,如果我不放-nodisplay命令,linux下会出现同样的问题.
我的批次行如下
matlab -nodisplay -automation -r "run('myfile.m')" -logfile output.txt -minimize
请帮我.
编辑:我想我发现我的问题是问题是当我-nodisplay在linux下使用命令usejava('awt')有效时因为我的java环境被禁用,但这不会发生在Windows下!为什么?
第二次编辑: 我想我找到的东西与我需要的东西非常相似.
matlab -noawt -noFigureWindows -r "run('myfile.m')" -logfile output.txt -minimize
Run Code Online (Sandbox Code Playgroud)
分析运行,一言不发,但MATLAB命令窗口仍然打开最小化......我宁愿打开任何东西!
我必须添加另一个东西.. nohup永远等待并继续前进,直到它到达脚本结束,然而使用任何其他批处理命令,start如果有任何输入请求或"等待"它停止,直到有人给出输入!
按照我在这里找到的好的指示:https://github.com/haginile/SwiftAccelerate我验证了矩阵反转是有效的.事实上它确实给出了给出的例子.但是我得到EXC_BAD_ACCESS任何其他矩阵(大于2x2)的错误,例如下面的2D矩阵(转换为1D数组)已成功在matlab和python中测试过,它不起作用
m = [0.55481645013013, -1.15522603580724, 0.962090414322894, -0.530226035807236, 0.168545207161447, -0.38627124296868, 0.93401699437494, -0.999999999999995, 0.684016994374945, -0.23176274578121, 0.123606797749979, -0.323606797749979, 0.432893622827287, -0.323606797749979, 0.123606797749979, 0.231762745781211, -0.684016994374948, 1.0, -0.934016994374947, 0.386271242968684, 0.168545207161448, -0.530226035807237, 0.962090414322895, -1.15522603580724, 0.554816450130132]
Run Code Online (Sandbox Code Playgroud)
它的倒置矩阵应该是
inv(AA)
ans =
Columns 1 through 3
-262796763616197 -656991909040516 4.90007819375216
-162417332048282 -406043330120712 14.6405748712708
0.718958226823704 7.87760147961979 30.4010295628018
162417332048287 406043330120730 46.1614842543337
262796763616208 656991909040536 55.9019809318537
Columns 4 through 5
-656991909040528 262796763616211
-406043330120721 162417332048287
-4.28281034550088 -0.718958226823794
406043330120704 -162417332048283
656991909040497 -262796763616196
Run Code Online (Sandbox Code Playgroud)
你能否在Swift中给我另一种矩阵求逆方法?或者解释一下如何解决这个问题?我真的不明白为什么它不起作用.
我需要在 Julia 中执行数组的平方根,但似乎sqrt()函数只是在标量和方阵上执行平方根。有没有不使用循环的简单紧凑的方法来做到这一点?
我正在学习ios-charts,我想知道如何操纵yAxis,因为没有相关的方法.相反,xAxis可以定制.一个小例子,默认情况下我有两组yAxis标签,如图所示.
我设法使用移动xAxis标签
lineChartView.xAxis.labelPosition = .Bottom
Run Code Online (Sandbox Code Playgroud)
但yAxis没有这样的东西.是否可以只留下左侧的标签清除右侧的标签?
我正在尝试从我制作的类中显示AlertController.由于AlertController是UIResponder的子类,我使用Xcode建议我的以下代码行
superclass?.presentViewController(alertController, animated: true, completion: nil)
Run Code Online (Sandbox Code Playgroud)
但我无法编译,因为AnyClass?没有任何成员presentViewController.我的类是NSObject的子类.
还有其他方法吗?谢谢