从Apple下载Reachability,使用此方法检查活动连接:
-(BOOL)isReachable{
Reachability *r = [Reachability reachabilityWithHostName:@"http://www.google.com"];
if(NotReachable == [r currentReachabilityStatus]) {
NSLog(@"Not Reachable");
return NO;
}
NSLog(@"Reachable");
return YES;
}
Run Code Online (Sandbox Code Playgroud)
尽管连接了,但每次都返回NO?无法弄清楚为什么......
有任何想法吗?谢谢.
在旁注,任何人都可以推荐一个很好的清洁Reachability单件类?
我已设法确保iPhone不会自动锁定使用:
[[ UIApplication sharedApplication ] setIdleTimerDisabled: YES ];
Run Code Online (Sandbox Code Playgroud)
但是如何在一定时间后使屏幕变暗?
谢谢...
编辑:
我想我自己找到了一个解决方案:
在视图控制器中使用此方法可以通过添加50%alpha的黑色视图来调暗.确保设置userInteractionEnabled = NO以将事件传递给基础视图.
- (IBAction)dim:(id)sender {
UIView *dimView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 460)];
dimView.backgroundColor = [UIColor blackColor];
dimView.alpha = 0.5f;
dimView.userInteractionEnabled = NO;
[self.view addSubview:dimView];
}
Run Code Online (Sandbox Code Playgroud)
或者,可能会冒风险(但Apple可能会在提交时拒绝):
[(id)[UIApplication sharedApplication] setBacklightLevel:1.0f];
Run Code Online (Sandbox Code Playgroud)
这是一个私有API,不应该使用...
我被困在Calendar/TimeZone/DateComponents/Date地狱中,我的思绪在旋转.
我正在创建一个日记应用程序,我希望它在全球范围内工作(使用iso8601日历).
我试图在iOS上创建类似于macOS日历的日历视图,以便我的用户可以浏览他们的日记条目(注意每个月的7x6网格):
要获得本月的第一天,我可以执行以下操作:
func firstOfMonth(month: Int, year: Int) -> Date {
let calendar = Calendar(identifier: .iso8601)
var firstOfMonthComponents = DateComponents()
// firstOfMonthComponents.timeZone = TimeZone(identifier: "UTC") // <- fixes daylight savings time
firstOfMonthComponents.calendar = calendar
firstOfMonthComponents.year = year
firstOfMonthComponents.month = month
firstOfMonthComponents.day = 01
return firstOfMonthComponents.date!
}
(1...12).forEach {
print(firstOfMonth(month: $0, year: 2018))
/*
Gives:
2018-01-01 00:00:00 +0000
2018-02-01 00:00:00 +0000
2018-03-01 00:00:00 +0000
2018-03-31 23:00:00 +0000
2018-04-30 23:00:00 +0000
2018-05-31 23:00:00 +0000
2018-06-30 23:00:00 +0000
2018-07-31 23:00:00 +0000
2018-08-31 …Run Code Online (Sandbox Code Playgroud) 我正在努力让div完全扩展到它的容器高度.
标记:
<div class="container">
<div class="innerOne inner"></div>
<div class="innerTwo inner"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
在不同的视口中.innerTwo,内容比我们的内容高,.innerOne但我希望它的背景与.innerTwos的大小相同
样式:
.container {
width: 100%;
height: auto;
background-color: yellow;
/* clearfix */
*zoom: 1;
&:before,
&:after {
display: table;
content: "";
line-height: 0;
}
&:after {
clear: both;
}
}
.inner {
float: left;
width: 50%;
height: 100%;
background-color: red;
}
Run Code Online (Sandbox Code Playgroud)
但高度不会匹配.我知道可以通过给容器设置一个高度来完成它,但我不想这样做,因为它是一个响应式站点.这可能吗?我宁愿不使用JS.
作为学习练习,我在Swift中重写我的验证库.
我有一个ValidationRule协议,定义了各个规则应该是什么样子:
protocol ValidationRule {
typealias InputType
func validateInput(input: InputType) -> Bool
//...
}
Run Code Online (Sandbox Code Playgroud)
关联类型InputType定义要验证的输入类型(例如String).它可以是显式的或通用的.
这有两条规则:
struct ValidationRuleLength: ValidationRule {
typealias InputType = String
//...
}
struct ValidationRuleCondition<T>: ValidationRule {
typealias InputType = T
// ...
}
Run Code Online (Sandbox Code Playgroud)
在其他地方,我有一个函数来验证带有ValidationRules 集合的输入:
static func validate<R: ValidationRule>(input i: R.InputType, rules rs: [R]) -> ValidationResult {
let errors = rs.filter { !$0.validateInput(i) }.map { $0.failureMessage }
return errors.isEmpty ? .Valid : .Invalid(errors)
}
Run Code Online (Sandbox Code Playgroud)
我认为这会起作用,但编译器不同意.
在下面的例子中,即使输入是一个字符串,rule1的 …
我正在创建一个应用程序,用户可以在设置选项卡中选择一首歌曲,并根据需要在不同的视图中播放.我想要它,以便如果用户要关闭应用程序并再次打开它,则可以存储此项目.
我设法允许用户选择并存储一首歌曲:
-(IBAction)showMediaPicker:(id)sender{
MPMediaPickerController *mediaPicker = [[MPMediaPickerController alloc] initWithMediaTypes: MPMediaTypeAny];
mediaPicker.delegate = self;
mediaPicker.allowsPickingMultipleItems = NO;
mediaPicker.prompt = @"Select Alarm Sound";
[self presentModalViewController:mediaPicker animated:YES];
}
- (void) mediaPicker: (MPMediaPickerController *) mediaPicker didPickMediaItems: (MPMediaItemCollection *) mediaItemCollection {
[self dismissModalViewControllerAnimated: YES];
settingsData.selectedSong = mediaItemCollection;//Object of type MPMediaItemCollection
Run Code Online (Sandbox Code Playgroud)
但我希望用户每次使用该应用程序时都必须这样做.
我尝试过使用NSUserDefaults:
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:settingsData.selectedSong forKey:@"alarmSoundKey"];
[defaults synchronize];
Run Code Online (Sandbox Code Playgroud)
但得到错误:
* - [NSUserDefaults setObject:forKey:]:尝试插入类'MPMediaItemCollection'的非属性值''.请注意,属性列表中的字典和数组也必须仅包含属性值.
请问有什么选择?不太确定如何解决这个问题......
解决方案
我还不能回答我自己的问题所以我会把它放在这里:
我已经找到了我自己的解决方案:
首先将MPMediaItemCollection转换/编码为NSData对象,然后使用NSUserDefaults将其存储起来:
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:mediaItemCollection];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:data forKey:@"someKey"]; …Run Code Online (Sandbox Code Playgroud) 有没有办法从GKTurnBasedParticipant对象中检索玩家的名字?根据班级参考,除了丑陋的玩家ID之外,似乎无法显示有关游戏玩家的相关信息.或者我错过了什么?
谢谢...
我的JavaScript知识存在差距.我想搜索特定值的对象值数组并返回它.
在我编写JavaScript的那一年里,我一直在实现它:
var itemClicked = (function(){
var retval;
//Note self.inventory.itemsArray is an array of JS objects
$(self.inventory.itemsArray).each(function(i){
if(parseInt(this.id) === parseInt(idOfItem)){
retval = this;
return false;
}
});
return retval;
})();
Run Code Online (Sandbox Code Playgroud)
它有效,但我确信任何东西都有更优雅的方式.请告诉我!
编辑 - 解决方案
感谢@gdoron,他的回答如下.
var myVar = $(self.owner.itemsArray).filter(function(){
return parseInt(this.id) == parseInt(recItemID);
}).get(0);
Run Code Online (Sandbox Code Playgroud)
注意:.get(0)最后添加了因为myVar被包装为jQuery对象.
我的应用程序图标未出现在Xcode存档中.我将它们设置在plist中,它们显示在模拟器上,设备上和项目设置中.见下图:

我怎样才能解决这个问题?我顺便使用4.3.1.
谢谢...
当用户退出我的CodeIgniter(PHP)应用程序时,我正在尝试停止/禁用浏览器的后退按钮功能.但是,我认为浏览器正在缓存页面,因此尽管会话从注销中被销毁,它仍然可见.
我知道会话已经死了,因为当用户尝试做任何事情(点击任何链接等)时,他们会通过控制器中的方法被踢出.
由于上一页包含机密信息,因此后退按钮以这种方式工作并不理想.
不知道如何解决这个问题,也许是介于两者之间的重定向页面(但是用户可以快速地关闭后退按钮吗?),帮助!
谢谢.
ios ×7
iphone ×4
objective-c ×2
swift ×2
arrays ×1
auto-lock ×1
caching ×1
calendar ×1
codeigniter ×1
css ×1
css-float ×1
date ×1
game-center ×1
gamekit ×1
generics ×1
height ×1
html ×1
icons ×1
ipad ×1
ipod ×1
javascript ×1
jquery ×1
object ×1
php ×1
positioning ×1
protocols ×1
reachability ×1
search ×1
session ×1
timezone ×1
type-alias ×1
xcode ×1