小编Dou*_*ith的帖子

实现Comparable的Java警告

我正在尝试在自定义对象的ArrayList上使用Collections.sort,但我收到警告,我无法弄清楚为什么

Warning: Type safety: Unchecked invocation 
sort(ArrayList<CharProfile>) of the generic method sort(List<T>) 
of type Collections
Run Code Online (Sandbox Code Playgroud)

使用此代码:

ArrayList<CharProfile> charOccurrences = new ArrayList<CharProfile>();

...

Collections.sort(charOccurrences);
Run Code Online (Sandbox Code Playgroud)

这是我的方法:

public class CharProfile implements Comparable {

...

@Override
public int compareTo(Object o) {

        if (this.probability == ((CharProfile)o).getProbability()) {
            return 0;
        }
        else if (this.probability > ((CharProfile)o).getProbability()) {
            return 1;
        }
        else {
            return -1;
        }
 }
}
Run Code Online (Sandbox Code Playgroud)

java

8
推荐指数
1
解决办法
7775
查看次数

何时使用viewDidLoad以及何时使用awakeFromNib

我已经非常习惯使用viewDidLoad方法执行我想要在视图开头执行的操作,但是阅读Apple的一个教程,他们在awakeFromNib方法中为类设置了数据控制器,并且在awakeFromNib中没有做任何事情.我交换了它,它似乎在我的应用程序中工作相同,但我不确定它是否更好在awakeFromNib或viewDidLoad中.

我什么时候应该使用其中一个?

xcode ios ios6

8
推荐指数
1
解决办法
6556
查看次数

我的DMux 4方式出了什么问题?

它似乎接近工作,显然只是在第7行搞砸了?

/**
 * 4-way demultiplexor.
 * {a,b,c,d} = {in,0,0,0} if sel==00
 *             {0,in,0,0} if sel==01
 *             {0,0,in,0} if sel==10
 *             {0,0,0,in} if sel==11
 */


CHIP DMux4Way {
    IN in, sel[2];
    OUT a, b, c, d;

    PARTS:
    DMux(in = in, sel = sel[0], a = out1, b = out2);

    DMux(in = out1, sel = sel[1], a = a, b = b);
    DMux(in = out2, sel = sel[1], a = c, b = d);
}
Run Code Online (Sandbox Code Playgroud)

我已经实现了我的DMux,如下所示,我只是使用它,就好像它是一棵树:

/**
 * Dmultiplexor.
 * {a,b} = …
Run Code Online (Sandbox Code Playgroud)

hdl mux nand2tetris

8
推荐指数
1
解决办法
3181
查看次数

设计应用程序设置的表格视图的最佳做法?

对于我的应用程序的设置视图控制器,我希望有一个表视图,其中包含一组用户可以调整的选项.拨动开关,segues,踏步机等

实现这一目标的最佳方法是什么?在每个单元遵循简单布局的情况下,表视图非常简单.也许是一个标题和一些潜台词.但在这种情况下,单元格可以是五种布局中的一种,具体取决于正在改变的设置类型.

处理这个子类是UITableViewCell的最佳方法,在tableView中cellForRowAtIndexPath:,在返回单元格之前设置一个自定义属性kind,比如toggle或者像label?然后在该viewDidLoad单元格的子类中根据kind属性设置单元格?

这效率低吗?我应该创建一个包含所有控件的单元格,但是隐藏了,然后根据它启用它们kind吗?我是否应该为每种具有不同控件的单元格创建一个子类?

这就是我在考虑处理它的方式.但是有更优选的方式吗?这是否效率低,因为它不具有从一个单元到另一个单元的必然可预测模式?

uitableview ios

8
推荐指数
1
解决办法
5950
查看次数

为什么我无法使用SLComposeViewController发布到Twitter?

我正在尝试将文章标题和文章URL发布到Twitter,然后将应用程序的名称附加到推文的末尾.所以像

"如何种植仙人掌(通过@appname)" 附加网址

我无法弄清楚如何平衡标题和URL的长度,以确保推文不超过140个字符.因此,如果URL非常长,请删除一些文章标题,以便它可以低于140个字符.

看看Twitter的指导原则,SLComposeViewController他们说明了这一部分:

注意,设置初始内容的方法用布尔值响应; 这允许您(开发人员)不必担心正在初始化的推文正文中的当前字符数.如果方法返回YES,则有足够的空间来添加内容.如果方法返回NO,则您尝试添加的内容将导致Tweet超过140个字符.字符计数的逻辑也使t.​​co URL包装所需的当前字符数生效.

(来自"代码示例"部分.)

鉴于此,我编写了以下代码来构建推文并平衡URL长度和文章长度:

if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeTwitter]) {
    SLComposeViewController *twitterViewController = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeTwitter];
    [twitterViewController addURL:[NSURL URLWithString:self.article.url]];

    NSString *titleToShare = self.article.title;
    while ([twitterViewController setInitialText:[NSString stringWithFormat:@"%@ (via @SyllableApp)", titleToShare]]) {
        titleToShare = [titleToShare substringToIndex:titleToShare.length - 1];
    }

    [self presentViewController:twitterViewController animated:YES completion:nil];
}
Run Code Online (Sandbox Code Playgroud)

基本上添加URL然后通过循环遍历setInitialText:方法来构造推文的其余部分直到它返回YES,每次返回时将标题的长度减少1 NO以便接近所需的长度.

但它永远不会返回YES!即使我知道它应该.我正在使用一篇文章,它可能超过140个字符,因为标题长度为105个字符,URL为55,加上应用信用额度.所以它理论上应该能够缩短标题,然后加上它,但它永远不会发生.

发生什么了?如何完成链接附件SLComposeViewController

twitter objective-c ios slcomposeviewcontroller

8
推荐指数
1
解决办法
1492
查看次数

使用SDWebImage而不是AFNetworking进行图像加载有什么大优势吗?

SDWebImage声称 AFNetworking不会缓存图像本身而只缓存HTTP响应,因此SDWebImage可以更快地从缓存中调用图像并进行呈现.

如果我想纯粹使用AFNetworking,这样的声明是真的与否,真的是性能明显的东西吗?这是我应该警惕的吗?

objective-c ios afnetworking sdwebimage afnetworking-2

8
推荐指数
1
解决办法
5876
查看次数

为什么我的应用程序突然没有构建并抱怨这些"ld"和"clang"错误?

这些错误让我感到困惑,我不知道我做了什么来触发它们:

ld: warning: directory not found for option '-F/"..."'
ld: warning: ignoring file "..."/iOS 7/Crashlytics.framework/Crashlytics, file was built for unsupported file format ( 0x56 0x65 0x72 0x73 0x69 0x6F 0x6E 0x73 0x2F 0x43 0x75 0x72 0x72 0x65 0x6E 0x74 ) which is not the architecture being linked (i386): /"..."/Crashlytics.framework/Crashlytics
Undefined symbols for architecture i386:
  "_OBJC_CLASS_$_Crashlytics", referenced from:
      objc-class-ref in AppDelegate.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see …
Run Code Online (Sandbox Code Playgroud)

xcode objective-c clang ld ios

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

是否可以在UIScrollView中放大和缩小UIImageView,但坚持使用自动布局?

长话短说,我正在尝试构建类似于Photos.app的功能.

我有一个UIScrollView,里面有一个UIImageView,它在Storyboard中设置.缩放工作,但我无法保持中心.在我所有基于框架的滚动视图实现中,我将它集中在如下,它可以很好地工作:

- (void)scrollViewDidZoom:(UIScrollView *)scrollView {
    CGRect newImageViewFrame = self.imageView.frame;

    // Center horizontally
    if (newImageViewFrame.size.width < CGRectGetWidth(scrollView.bounds)) {
        newImageViewFrame.origin.x = (CGRectGetWidth(scrollView.bounds) - CGRectGetWidth(self.imageView.frame)) / 2;
    }
    else {
        newImageViewFrame.origin.x = 0;
    }

    // Center vertically
    if (newImageViewFrame.size.height < CGRectGetHeight(scrollView.bounds)) {
        newImageViewFrame.origin.y = (CGRectGetHeight(scrollView.bounds) - CGRectGetHeight(self.imageView.frame)) / 2;
    }
    else {
        newImageViewFrame.origin.y = 0;
    }

    self.imageView.frame = newImageViewFrame;
}
Run Code Online (Sandbox Code Playgroud)

但是使用自动布局它根本就没有.

我对UIScrollView或UIImageView没有任何限制,因为我不知道它们应该是什么.我想我应该将UIScrollView粘贴到四个角落,但是对于UIImageView我不完全确定,因为缩放改变了它的框架.

这是一个示例项目:http://cl.ly/21371H3q381N

如何使用自动布局进行缩放工作?

objective-c uiscrollview uiimageview ios autolayout

8
推荐指数
1
解决办法
1101
查看次数

为什么 Chromecast 无法流式传输此 HLS 视频?“未找到 ID3 和 ADTS 标头”/错误 NETWORK/315

我正在尝试通过发件人应用将一些 URL 流式传输到我的 Chromecast。它们是 HLS/m3u8 URL。

这是一个这样的示例 URL:https : //qa-apache-php7.dev.kaltura.com/p/1091/sp/109100/playManifest/entryId/0_wifqaipd/protocol/https/format/applehttp/flavorIds/0_h65mfj7f,0_3flmvnwc, 0_m131krws,0_5407xm9j/a.m3u8

然而,尽管其他 HLS/m3u8 URL 有效(有效的 HLS 流示例),但它们似乎从未加载到 Chromecast 上。

它与 CORS 无关,因为它们确实具有正确的 CORS 标头。

我注意到它们在根 HLS 清单文件中有单独的音频组。

当我将它连接到自定义接收器应用程序时,我得到以下日志:

在此处输入图片说明

相关位是(我认为):在 0 和 cast.player.api.ErrorCode.NETWORK/315 处都没有找到 ID3 和 ADTS 标头(我认为这是第一个的结果)

这些是完全有效/有效的 HLS URL。它们可以在 iOS 和桌面上的 Safari 以及 VLC 中完美播放。

我需要做些什么(在我的发送方应用程序或接收方应用程序中)才能启用诸如音轨之类的功能?文档似乎表明了这一点

我还发现了这个谷歌问题,其中有人遇到了类似的问题,但以某种我无法理解的方式解决了它。https://issuetracker.google.com/u/1/issues/112277373

如何在 Chromecast 上正确播放此 URL?我要在代码中做些什么吗?

http-live-streaming google-cast chromecast hls.js google-cast-sdk

8
推荐指数
1
解决办法
2086
查看次数

在 Firebase Analytics 中,列出的设备之一就是“iPhone”,这对应于什么?

我看到 iPhone X、iPhone XR、iPhone XS 等设备,然后只是“iPhone”,没有任何型号说明符。这对应的是哪一个呢?

请注意,这并不是所有 iPhone 型号的总价值,因为“iPhone XR”型号的数量多于“iPhone”型号的数量。

firebase firebase-analytics

8
推荐指数
1
解决办法
3017
查看次数