我有这个代码:
NSString *telURL = [NSString stringWithFormat:@"tel:1-%@",((UIButton*) sender).titleLabel.text];
telURL = [telURL stringByReplacingOccurrencesOfString:@"\n" withString:@""];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:telURL]];
Run Code Online (Sandbox Code Playgroud)
但它没有启动拨号器应用程序拨打电话.
我检查了字符串telURL,其内容是:"tel:[删除]",据我所知,这是它需要的.
有任何想法吗?
编辑:如果它很重要我刚刚在模拟器上运行它.几天我不会有物理设备.(从下面的答案显然它确实很重要)
我最近为我的iPhone应用程序创建了一个新类,它将保存从包含街道地址和感兴趣点的GPS点的文本文件中读取的信息.
但问题是每当我添加代码来初始化类时,我的应用程序就会加载并立即退出,控制台中没有错误.当我删除它,一切都很好.我根本看不出代码有什么问题.
这是构造函数:
#import "GPSCoordinate.h"
@implementation GPSCoordinate
-(GPSCoordinate*) initWithData:(NSString *)rawData size:(int)size
{
self = [super init];
location = [NSMutableArray arrayWithCapacity:size];
coordinates = [NSMutableArray arrayWithCapacity:(int)size];
NSArray *tokens = [rawData componentsSeparatedByString:@"@"];
for (int i = 0; i < size - 1; i++) {
//Sub tokens
NSString *line = [tokens objectAtIndex:i];
NSArray *lineTokens = [line componentsSeparatedByString:@":"];
//Store address
[location addObject:[lineTokens objectAtIndex:0]];
//Store GPS coords
NSString *coords = [lineTokens objectAtIndex:1];
coords = [[coords stringByReplacingCharactersInRange:NSMakeRange(0, 1) withString:@""]
stringByReplacingCharactersInRange:NSMakeRange([coords length]-2, 1) withString:@""];
NSArray *coordsTokens = [coords …Run Code Online (Sandbox Code Playgroud) 我没有编程任何C一段时间,并准备承担一个侧面项目我决定写一些基本的功能,让我的大脑回到思考C.其中一个我尝试的是基本的char数组复制功能:
char* mysteryFuncOne(char* in)
{
char* returnVal = malloc(sizeof(char) * strlen(in));
int i = 0;
while(*(returnVal+ i)= *(in+ i))
{
i++;
}
return returnVal;
}
Run Code Online (Sandbox Code Playgroud)
我上面的工作,但我试图进一步震撼我的记忆,我也认为这可行:
char* mysteryFuncOne(char* in)
{
char* returnVal = malloc(sizeof(char) * strlen(in));
while(*(returnVal++)= *(in++) ) // I changed this loop
{
}
return returnVal;
}
Run Code Online (Sandbox Code Playgroud)
基本上我改变了while循环的条件.我以为这些是等价的形式?第一个版本工作正常,但第二个版本返回空结果.我觉得我错过了一些明显的东西,但我无法发现它.
有人想告诉我一件我不知道的事吗?
我正在研究一个简单的小javascript编码挑战,但遇到了一些我在任何地方都找不到的奇怪行为.也许有人可以指出我说这是预期的行为?
myIntegerArray = [1,2,3,4];
b = new Array();
for(var v in a)
{
b.push(v);
}
console.log(b); // returns ["1","2","3","4"]. Note String result
Run Code Online (Sandbox Code Playgroud)
如果我要使用,forEach()但我得到一个数组回来:
a.forEach(function(element,index,ay)
{
b.push(element)
});
//a console.log(b) will return [1,2,3,4]
Run Code Online (Sandbox Code Playgroud)