我正在尝试在自定义对象的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) 我已经非常习惯使用viewDidLoad方法执行我想要在视图开头执行的操作,但是阅读Apple的一个教程,他们在awakeFromNib方法中为类设置了数据控制器,并且在awakeFromNib中没有做任何事情.我交换了它,它似乎在我的应用程序中工作相同,但我不确定它是否更好在awakeFromNib或viewDidLoad中.
我什么时候应该使用其中一个?
它似乎接近工作,显然只是在第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) 对于我的应用程序的设置视图控制器,我希望有一个表视图,其中包含一组用户可以调整的选项.拨动开关,segues,踏步机等
实现这一目标的最佳方法是什么?在每个单元遵循简单布局的情况下,表视图非常简单.也许是一个标题和一些潜台词.但在这种情况下,单元格可以是五种布局中的一种,具体取决于正在改变的设置类型.
处理这个子类是UITableViewCell的最佳方法,在tableView中cellForRowAtIndexPath:,在返回单元格之前设置一个自定义属性kind,比如toggle或者像label?然后在该viewDidLoad单元格的子类中根据kind属性设置单元格?
这效率低吗?我应该创建一个包含所有控件的单元格,但是隐藏了,然后根据它启用它们kind吗?我是否应该为每种具有不同控件的单元格创建一个子类?
这就是我在考虑处理它的方式.但是有更优选的方式吗?这是否效率低,因为它不具有从一个单元到另一个单元的必然可预测模式?
我正在尝试将文章标题和文章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?
SDWebImage声称 AFNetworking不会缓存图像本身而只缓存HTTP响应,因此SDWebImage可以更快地从缓存中调用图像并进行呈现.
如果我想纯粹使用AFNetworking,这样的声明是真的与否,真的是性能明显的东西吗?这是我应该警惕的吗?
这些错误让我感到困惑,我不知道我做了什么来触发它们:
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) 长话短说,我正在尝试构建类似于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
如何使用自动布局进行缩放工作?
我正在尝试通过发件人应用将一些 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
我看到 iPhone X、iPhone XR、iPhone XS 等设备,然后只是“iPhone”,没有任何型号说明符。这对应的是哪一个呢?
请注意,这并不是所有 iPhone 型号的总价值,因为“iPhone XR”型号的数量多于“iPhone”型号的数量。
ios ×6
objective-c ×4
xcode ×2
afnetworking ×1
autolayout ×1
chromecast ×1
clang ×1
firebase ×1
google-cast ×1
hdl ×1
hls.js ×1
ios6 ×1
java ×1
ld ×1
mux ×1
nand2tetris ×1
sdwebimage ×1
twitter ×1
uiimageview ×1
uiscrollview ×1
uitableview ×1