小编C.A*_*lar的帖子

NavigationLink 只工作一次

我正在开发一个登录应用程序,登录后列出了类别。在每个类别下都有一些水平列出的项目。事情是登录后,主页面出现,一切都列出来了。当您单击一个项目时,它会进入详细屏幕,但是当您尝试返回时,它只会崩溃。我发现了这个流程为什么我的 SwiftUI 应用程序在“NavigationView”中的“navigationBarItems”内放置“NavigationLink”后向后导航时会崩溃?但我无法解决我的问题。由于我的项目变得复杂,我只想在swiftui中练习导航并创建了一个新项目。顺便说一下,我下载了最新的 xcode 版本 11.3。我写了一个简单的代码如下:

NavigationView{
        NavigationLink(destination: Test()) {
            Text("Show Detail View")
        }
    .navigationBarTitle("title1")
Run Code Online (Sandbox Code Playgroud)

而 Test() 视图如下:

import SwiftUI

struct Test: View {
    var body: some View {
        Text("Hello, World!")
    }
}

struct Test_Previews: PreviewProvider {
    static var previews: some View {
        Test()
    }
}
Run Code Online (Sandbox Code Playgroud)

如您所见,这非常简单。我也在互联网上尝试过类似的例子,但它并没有像它想象的那样工作。当我运行该项目时,我单击导航链接并导航到 Test() 视图。然后我点击后退按钮,它导航到主页。但是,当我第二次单击导航链接时,没有任何反应。导航链接只工作一次,之后什么也没有发生。它不导航,也不抛出任何错误。我是 swiftui 的新手,除了导航之外,一切都很棒。我在互联网上尝试了很多示例和建议的解决方案,但似乎没有任何解决方案可以解决我的问题。

navigation xcode ios swiftui navigationlink

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

如何修复 AVPlayer 的视图控制器层次结构?

我有一个带有单个播放器和登录名的 iOS 应用程序。它应该像这样工作:

  • 1) 运行应用
  • 2)登录
  • 3)登录后视频直接开始播放
  • 4)如果您退出视频,它应该询问您是否要注销
  • 5)如果没有应该继续播放流
  • 6)如果是,请注销该应用程序
  • 7)如果用户没有杀死应用程序再次登录,则应重复2-7的步骤

但是,除了最后一步之外,我的代码可以完成所有操作。如果用户注销并登录 - 它开始播放流,但是当您单击完成按钮并尝试退出视频时,它不起作用。视频保持全屏,并给出以下警告:

Warning: <AVPlayerViewController: 0x7f9fca08aa00> is trying to exit full screen, but is not in its view's window's view controller hierarchy. This results in undefined behavior. 
Run Code Online (Sandbox Code Playgroud)

我对 xcode ios 和objectiveC 真的很陌生,我的代码如下

- (void)viewDidLoad {

    NSLog(@"ChannelListingViewController::viewDidLoad(): Called...");
    [super viewDidLoad];

    self.check=1;

    NSLog(@"ChannelListingViewController::viewDidLoad(): Exiting...");
}

-(void) playVideo
{
    self.channelURL = [TulixAppGlobalConfig getUserSubscribedPlanChannels];


    NSURL *url = [[NSURL alloc] initWithString:[self.channelURL[1] getChannelHlsStreamURL]];
    self.player = [AVPlayer playerWithURL:url];

    // create a player view controller
    [self presentViewController:controller …
Run Code Online (Sandbox Code Playgroud)

xcode stream ios avplayer avplayerviewcontroller

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

Java比较两个字符串返回false,尽管字符串是相同的

我正在从txt文件中读取句子并创建一系列独特的单词.首先,我逐行阅读文件.我用空格分割线条,将单词作为String数组.然后,如果单词不是我的唯一单词ArrayList,我将该单词添加到ArrayList.但是,存在一些问题.第一个是它还将空字符串添加到唯一字ArrayList.第二个是它添加相同的单词2次,当我比较这两个字符串时,它就像它们不相等.我的代码如下:

    ArrayList<String> uniqueWords = new ArrayList<>();
    Scanner scan = new Scanner(new File("input.txt"));
    while(scan.hasNext())
    {
        String []line = scan.nextLine().split("\\s+");
        for(int i = 0;i<line.length;i++)
        {
            if(uniqueWords.indexOf(line[i])==-1)
            {
                uniqueWords.add(line[i]);
            }

        }

    }

    System.out.println("0:"+uniqueWords.get(0));
    System.out.println("1:"+uniqueWords.get(1));
    System.out.println("2:"+uniqueWords.get(2));
    System.out.println("9:"+uniqueWords.get(9));
    System.out.println(uniqueWords.get(1).equalsIgnoreCase(uniqueWords.get(2)));
Run Code Online (Sandbox Code Playgroud)

输出如下:

0:?
1:?adalet
2:adalet
9:
false
Run Code Online (Sandbox Code Playgroud)

java string file arraylist

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