小编BOM*_*MEz的帖子

UIApplication没有启动拨打电话

我有这个代码:

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 xcode cocoa-touch

2
推荐指数
1
解决办法
2600
查看次数

类初始化破坏应用程序

我最近为我的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)

iphone xcode cocoa-touch objective-c

0
推荐指数
1
解决办法
132
查看次数

指针刷新

我没有编程任何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循环的条件.我以为这些是等价的形式?第一个版本工作正常,但第二个版本返回空结果.我觉得我错过了一些明显的东西,但我无法发现它.

有人想告诉我一件我不知道的事吗?

c

0
推荐指数
1
解决办法
187
查看次数

为什么javascript会更改Array.push上的数据类型?

我正在研究一个简单的小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)

javascript

0
推荐指数
1
解决办法
717
查看次数

标签 统计

cocoa-touch ×2

iphone ×2

xcode ×2

c ×1

javascript ×1

objective-c ×1