小编jel*_*ito的帖子

iOS 9中的requestLocation()多次调用didUpdateLocation委托

所以requestLocation()在iOS9上有新的 方法.我试图使用它只获得一个位置更新,但它会didUpdateLocations多次点击.

这不是只想叫它一次吗?我已经设置distanceFilter为1000.0,所以它很快就可以帮助快速返回.有任何想法吗 ?

即使我在stopUpdatingLocation()内部委托方法调用,我仍然得到三个代表的命中.

注意:当我使用StartUpdatingLocation相反的行为时出现相同的行为,我想只获得一次返回,因为我想获取用户的当前国家/地区,因此请将该位置反馈到反向地址

提前致谢

这是代码:

func getLocationOneTime(accuracy: Double){
    print("Acquiring location one time - accuracy requested:\(accuracy)")
    locationManager.distanceFilter = accuracy
    locationManager.desiredAccuracy = accuracy
    // Start gpsOneTimeTimeout timer
    gpsTimeoutTimer = NSTimer.scheduledTimerWithTimeInterval(gpsOneTimeTimeout, target: self, selector: #selector(self.reportTimeout), userInfo: nil, repeats: false)
    locationManager.requestLocation()
     }
Run Code Online (Sandbox Code Playgroud)

cllocationmanager swift ios9

5
推荐指数
1
解决办法
1211
查看次数

在结构错误中指向取消引用

我有一个创建循环列表的功能,我有编译问题,不确定它是否是语法,如果有人可以提供帮助,请欣赏.

    void CreateCircularList(struct node** listRef, struct node** tailRef)

    {    
    Push(&*listRef, "String 1");
    *tailRef=*listRef;
    Push(&*listRef, "String 2");
    Push(&*listRef, "String 3");
    Push(&*listRef, "String 4");

    *(tailRef->next)=*listRef;

    } 
Run Code Online (Sandbox Code Playgroud)

编译器在最后一行标记错误:

"成员引用基类型'结构节点*'不是结构或联合"

有什么想法吗?谢谢

c pointers linked-list circular-list dereference

4
推荐指数
1
解决办法
8898
查看次数

设置Xcode以使用外部编译器

我正在尝试使用Xcode作为微控制器代码的编辑器.我想使用Build,Run按钮.我如何使用它们来触发编译程序的脚本?我已经有一个可以在命令行上运行的脚本.我需要传递一些参数,比如文件名和一些选项.我正在使用SDCC,这是一个8501编译器.是否可以在Xcode中创建自定义目标或其他内容,以便调用脚本并传递文件名或参数?有关如何执行此操作的任何示例?当然我不能使用GCC.

xcode 8051 sdcc

4
推荐指数
1
解决办法
9455
查看次数

调用sprintf时静态变量被清除

我遇到一个显示一些奇怪行为的静态变量的问题.希望有人可以提供帮助,这里是代码:

void digitRefresh(void){

static char digitenabled=1;

sprintf(digits, "%d", number+10000);

switch (digitenabled) {
    case 1: digitDecode(digits[1] - 48);
        CATHODE_1 = ENABLE;
        break;
    case 2: digitDecode(digits[2] - 48);
        CATHODE_2 = ENABLE;
        break;
    case 3: digitDecode(digits[3] - 48);
        CATHODE_3 = ENABLE;
        break;
    case 4: digitDecode(digits[4] - 48);
        CATHODE_4 = ENABLE;
        break;
}
delay_ms(DIGIT_DELAY);

disableAllCathodes();
return; 
Run Code Online (Sandbox Code Playgroud)

}

顺便说一下数字被定义为 char digits[5];

正如您所看到的,我正在定义一个本地静态变量,因此当多次调用此函数时,我可以跳转到程序的不同位置.

我刮胡子的问题是在第二行代码中.当sprintf被执行时,var digitenabled以某种方式将其值更改为零.你可以在代码中看到它之前的一个,但是在sprint之后我放了一个断点,由于某种原因它是零.

如果我不通过注释来使用sprintf,则问题就会消失,变量会按预期运行(不清除并在再次调用函数时保留该值).

sprintf做错了吗?所以变量消失了?有任何想法吗 ?

这是在使用XC8编译器的微控制器PIC16F1847上.谢谢

c printf static pic reentrancy

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