小编Col*_*ral的帖子

Swift运算符`下标`[]

我是初学者,对Swift操作员没有先进的知识.

我有以下课程

class Container {
   var list: [Any] = [];
}
Run Code Online (Sandbox Code Playgroud)

我想实现运算符subscript []以便从中访问数据list.

我需要这样的东西:

var data: Container = Container()
var value = data[5]
// also    
data[5] = 5
Run Code Online (Sandbox Code Playgroud)

我也希望能够写出这样的东西:

data[1][2]
Run Code Online (Sandbox Code Playgroud)

是否可以考虑1来自的元素Containerarray

Thanx寻求帮助.

operator-overloading subscript-operator swift

19
推荐指数
2
解决办法
5991
查看次数

Swift框架嵌套类在Objective C中不能很好地导出

我有Geography.framework(一个Swift框架项目)包含的以下类:

public class Contact : NSObject
{
    public static let  Table: String = "contacts"

    public class Fields : NSObject
    {
        public static let  Id: String = "_id"
        public static let  Name: String = "name"
        static let  rawId: String = "rawId"
    }
}


public class Country : NSObject
{
    public class Fields : NSObject
    {
        public static let  Id: String  = "_id"
        public static let  Prefix: String = "prefix"
        static let  rawId: String  = "rawId"
    }
}
Run Code Online (Sandbox Code Playgroud)

在我使用此框架的快速应用程序中,一切运行顺利:

import geography

func …
Run Code Online (Sandbox Code Playgroud)

frameworks nested objective-c swift

10
推荐指数
1
解决办法
1743
查看次数

如何将Unmanaged <CFString>转换为NSString?

我的应用程序正在处理联系人数据.

电话标签检索如下

let locPhoneLabel : NSString = (ABMultiValueCopyLabelAtIndex(phones, numberIndex) != nil) ? ABMultiValueCopyLabelAtIndex(phones, numberIndex).takeUnretainedValue() as CFStringRef : ""

let phoneLabel:Unmanaged<CFString> = ABAddressBookCopyLocalizedLabel(locPhoneLabel)
Run Code Online (Sandbox Code Playgroud)

我不知道如何将phoneLabel转换为NSString?

cfstring ios swift

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

在 STOP 模式之前禁用 STM32 HAL IWDG 或 WWDG(看门狗)

我使用 STM32 (L0 5) HAL,在进入 STOP 模式之前,我需要禁用 IWDG 或 WWDG。在 IWDG 将 MCU 从 STOP 模式重置之前,以下代码可以正常工作。对于 WWDG 使用,这要快得多,并且在调用 HAL_PWR_EnterSTOPMode 之前重置,尽管 HAL_WWDG_Refresh 在每行之后调用。我也在 Nucleo L05 上测试了这些场景。

iwdgHandle.Instance = IWDG;
iwdgHandle.Init.Prescaler = IWDG_PRESCALER_64;
iwdgHandle.Init.Window = 4095;
iwdgHandle.Init.Reload = 4095;
if (HAL_IWDG_Init(&iwdgHandle) != HAL_OK) // almost 7secs until refresh has to be called
{
 _Error_Handler(__FILE__, __LINE__);
}

HAL_PWR_EnableWakeUpPin(WakeSpi_Pin);
HAL_PWREx_EnableUltraLowPower(); // Enable Ultra low power mode
HAL_PWREx_EnableFastWakeUp(); // Enable the fast wake up from Ultra low power mode

HAL_SuspendTick();
HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON, PWR_STOPENTRY_WFI);
Run Code Online (Sandbox Code Playgroud)

hal watchdog stm32

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