小编bla*_*een的帖子

Info.plist 不包含 UIScene 配置字典(正在寻找名为“(无名称)”的配置)?

Info.plist不包含UIScene 配置字典(正在查找名为“(无名称)”的配置)?

升级 Xcode 14.1 -> 14.2 并收到此全新错误

控制台错误

在我的项目编辑器中,选择左侧的“目标”,然后选择顶部的“构建设置”。

构建设置

以下是 Finder 显示的内容:

在此输入图像描述

第一次尝试这个键:

第一把钥匙

错误不会消失。

然后是第二把钥匙:

第二把钥匙

错误仍然存​​在。

我缺少什么简单的东西?

谢谢各位。

编辑

我的 info.plist.file 与我的 .xcodeproj 文件位于同一文件夹中,并且我端的指示表明这是正确的位置因此,看来我的错误位于我的 .plist 文件的内容中。

我最初设置 key = UISceneConfigurationDictionaryName 和 content Type = String。

特别值得注意的是(无名称)值。

然后我设置 key = UISceneConfigurationDictionary 和 content Type = Dictionary。

同样的错误。

让我困惑的是,Keys 的下拉列表不包含任何“UIScene”。

无法证明这一点,但我相信下拉列表中的空白是我问题的核心。

xcode

106
推荐指数
3
解决办法
5万
查看次数

返回泛型类型的默认值

如何返回nil泛型类型T

func (list *mylist[T]) pop() T {
    if list.first != nil {
        data := list.first.data
        list.first = list.first.next
        return data
    }
    return nil
}

func (list *mylist[T]) getfirst() T {
    if list.first != nil {
        return list.first.data
    }
    return nil
}

Run Code Online (Sandbox Code Playgroud)

我收到以下编译错误:

 cannot use nil as T value in return statement
Run Code Online (Sandbox Code Playgroud)

generics null go

63
推荐指数
2
解决办法
3万
查看次数

any/interface{} 作为约束与参数类型之间的区别?

由于泛型最近在 Go 1.18 中发布,我已经开始学习它们。我一般都明白这个概念,因为我过去有一些 Java 经验。但我没有得到一些实施细节。

例如:什么时候更适合any使用interface{}? 这是一个例子:

func printInterface(foo interface{}) {
    fmt.Printf("%v\n", foo)
}

func printAny[T any](foo T) {
    fmt.Printf("%v\n", foo)
}

func (suite *TestSuite) TestString() {
    printInterface("foo")
    printAny("foo")
}
Run Code Online (Sandbox Code Playgroud)

两种实现都有效。但是,如果我尝试nil使用any-version 进行打印,我会收到编译时错误:

无法推断 T。

https://go.dev/play/p/0gmU4rhhaOP

nil如果我尝试使用-version进行打印,我不会收到此错误interface{}

那么它的用例是什么any?与简单地使用相比,它何时会带来哪些好处interface{}

我要求提供一个具体的示例,其中一种实现客观上比另一种实现更合适和/或存在可以评估的特定好处。

generics go any

52
推荐指数
3
解决办法
4万
查看次数

Go 中新的波形符 ~ 的含义是什么?

Go 引入了新的令牌~

~T 表示具有基础类型 T 的所有类型的集合

不过我看不懂,请高人帮忙解释一下。

下面是一个例子。

type Ordered interface {
      Integer | Float | ~string
}
Run Code Online (Sandbox Code Playgroud)

generics go

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

Go 的通用结构

Go 中的 C# 代码相当于什么,我该如何构建它

    class ModelX<T>
    {
        public T Data { get; set; }
    }

    ModelX<int>
Run Code Online (Sandbox Code Playgroud)

我尝试过类似的事情:

    type ModelX<T> struct {
        ModelY
        Data []T
    }

    m := ModelX<T>
Run Code Online (Sandbox Code Playgroud)

这个怎么做?那可能吗?

generics struct go

37
推荐指数
1
解决办法
6万
查看次数

如何在 Go 中创建泛型方法?(方法必须没有类型参数)

Golang 1.18beta支持泛型,我想在泛型切片上添加扩展方法。例如,地图函数定义如下:

func Map[E, V any](slice *[]E, iteratee func(E) V) *[]V {
    result := []V{}
    for _, item := range *slice {
        result = append(result, iteratee(item))
    }

    return &result
}
Run Code Online (Sandbox Code Playgroud)

然后我想把这个方法作为slice的扩展方法,像这样,但是无法编译成功:

func (slice *[]E) Map[E, V any](iteratee func(E) V) *[]V {
    result := []V{}
    for _, item := range *slice {
        result = append(result, iteratee(item))
    }

    return &result
}
Run Code Online (Sandbox Code Playgroud)

go buildGo 1.18 给出错误:

main.go: method must have no type parameters
Run Code Online (Sandbox Code Playgroud)

实现第二个代码块的正确方法是什么?

我想这样使用:

slice := []string{"a", "b", "c"}
newSlice := …
Run Code Online (Sandbox Code Playgroud)

generics methods go

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

go mod download 和 go mod tidy 之间的区别

go mod download和之间有什么不同go mod tidy

当我运行时go mod tidy,如果找不到导入,它也会下载它。

go go-modules

36
推荐指数
1
解决办法
3万
查看次数

Go错误:无法在没有实例化的情况下使用泛型类型

在学习 Go 泛型时,我遇到了一个似乎无法解决的错误。我把它归结为最简单的代码:

type opStack[T any] []T

func main() {

    t := make(opStack)
    //  t := new(opStack)
    t = append(t, 0)
    fmt.Println(t[0])
}
Run Code Online (Sandbox Code Playgroud)

在操场上,这会在调用时(以及在注释掉的调用make()上类似)出现问题,并显示以下错误消息:new

无法在没有实例化的情况下使用泛型类型 opStack[T any]

但是make()是一个实例化函数。所以,我希望我错过了一些语法上的微妙之处。Go 抱怨什么以及需要纠正什么?

generics go

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

如何实现通用接口?

我刚刚看到 Go 在其最新版本中合并了泛型,我正在尝试创建一个小项目来了解它是如何工作的。除了现在通用的非常简单的功能之外,我似乎不知道它是如何工作的。我希望能够做这样的事情:

type Dao[RT any] interface {
    FindOne(id string) *RT
}

type MyDao struct {
}

type ReturnType struct {
    id int
}

func (m *MyDao) FindOne(id string) *ReturnType {
    panic("implement me")
}

// how should this look like?

func NewMyDao() *Dao[ReturnType] {
    return &MyDao[ReturnType]{}
}
Run Code Online (Sandbox Code Playgroud)

这可能吗?我似乎没有以这种方式实现接口,并且我已经尝试了许多相同的组合。

有没有办法实现通用接口?如果不是,是否只能返回类型interface{}

generics interface go

34
推荐指数
2
解决办法
5万
查看次数

无法对类型参数值使用类型断言

我们不能对泛型类型变量使用类型断言。考虑到它是 允许的interface{},但不是受 约束的泛型,这似乎是非常奇怪的行为interface{}。想知道是否有任何解决方法?

// This works
func isInt(x interface{}) bool {
    _, ok := x.(int)
    return ok;
}

// Compile Error
// invalid operation: cannot use type assertion on type parameter 
// value x (variable of type T constrained by interface{})
func isInt2[T interface{}](x T) bool {
    _, ok := x.(int)
    return ok;
}
Run Code Online (Sandbox Code Playgroud)

generics go

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

标签 统计

go ×9

generics ×8

any ×1

go-modules ×1

interface ×1

methods ×1

null ×1

struct ×1

xcode ×1