请问,我的项目有一个大问题:这就是场景.我在GIT下有一个xcode项目.今天我意识到最后一次提交破坏了一些测试,所以我检查了之前的提交.我使用了SourceTree,这是警告
这样做会使您的工作副本成为"分离的HEAD",这意味着您将不再在分支机构上.如果您想在此之后提交,则可能需要再次签出分支,或者创建新分支.这个可以吗?
我工作了一整天,最后我做了一切.所以我需要将我的工作合并到开发分支上,这样我就可以查看开发分支......我的工作立即消失了:(
我知道分离我的HEAD是错误的,Sourcetree警告我......但是有一种方法可以恢复我的工作吗?
非常感谢.
现在使用Swift标记了一些函数throws,这迫使开发人员在do - try catch块内调用函数.但是开发人员如何知道该函数抛出的不同异常列表?
作为参考,这是一行Java代码:
static void employeeAge(int age) throws MyExceptionA,MyExceptionB
Run Code Online (Sandbox Code Playgroud)
很明显,例外是2 MyExceptionA,MyExceptionB并且开发人员可以决定采取不同的行动取决于错误.
我们可以在Swift上实现同样的目标吗?
我正在为受OAuth2保护的服务器编写一个小型iOS客户端.
我想知道是否可以使用AFOAuth2Manager[here]自动刷新过期的令牌.
这个想法是当服务器用401响应时刷新客户端的逻辑,或者当刷新方法返回401时引发错误的逻辑应该是很常见的,所以可能它集成在某个库中.
我在ipad上有uiviewcontroller这个配置:
shouldAutorotate (true)
supportedInterfaceOrientations (UIInterfaceOrientationMaskAll)
在里面willRotateToInterfaceOrientation我执行一些技巧来调整我的界面.
从这个控制器的一个孩子,我展示了一个带有这个-poor-代码的QuickLookController.
[[[[[UIApplication sharedApplication] delegate] window] rootViewController] presentViewController:previewController animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)
但是,如果我旋转我的ipad方法willRotateToInterfaceOrientation没有被调用,所以我无法做到调整界面的技巧.
有人可以解释我或给我一些建议吗?谢谢
uiviewcontroller ipad screen-rotation presentmodalviewcontroller
使用新的xcode7 Apple为Objective-C引入了泛型和可空性(开发者指南)
但它似乎与我们在swift上的情况大不相同.
为空性:
- (nonnull NSString *)something {
return nil;
}
Run Code Online (Sandbox Code Playgroud)
这应该引发警告!您甚至可以将此方法的返回值分配给nonnull变量,如:
//@property (copy, nonnull) NSString *name
obj.name = [obj something];
Run Code Online (Sandbox Code Playgroud)
泛型: 看这个例子:
@property (nonatomic, strong, nonnull) NSMutableArray <UIView *> *someViews;
Run Code Online (Sandbox Code Playgroud)
当在阵列上插入与UIView不同的内容时,会引发警告
[self.someViews addObject:@"foobar"]; //<- this raises an error
Run Code Online (Sandbox Code Playgroud)
但在这种情况下不是:
self.someViews = [@[@"foobar"] mutableCopy];
Run Code Online (Sandbox Code Playgroud)
在这种情况下:
NSString *str = [self.someViews firstObject];
Run Code Online (Sandbox Code Playgroud)
所以问题是,我是以错误的方式使用泛型和可空性,还是远离Swift实现?
我找不到任何真实的例子来--patience给出与正常策略不同的结果。
根据这个答案,如果我有这个文件:
.foo1 {
margin: 0;
}
.bar {
margin: 0;
}
Run Code Online (Sandbox Code Playgroud)
我以这种方式更新它:
.bar {
margin: 0;
}
.foo1 {
margin: 0;
color: green;
}
Run Code Online (Sandbox Code Playgroud)
我应该看到两个不同的差异取决于我使用的算法。
但对我来说这些命令的输出总是相同的
git diff --diff-algorithm=patience
git diff
Run Code Online (Sandbox Code Playgroud)
diff --git a/foo.bar b/foo.bar
index 453dcb1..42cd4b4 100644
--- a/foo.bar
+++ b/foo.bar
@@ -1,7 +1,8 @@
-.foo1 {
+.bar {
margin: 0;
}
-.bar {
+.foo1 {
margin: 0;
+ color: green;
}
\ No newline at end of file
Run Code Online (Sandbox Code Playgroud)
我在用着git version 2.14.2
我有一个用AFNetworking制作的iOS应用程序.我有一个单独的自定义httpclient子类,我用它来使用我的api并从服务器下载二进制文件.
我需要下载大约100个文件.通过我的url数组迭代并为每个url创建一个AFHTTPRequestionOperation是否安全?我的代码是这样的:
NSMutableURLRequest* rq = [[MIHTTPClient sharedInstance] requestWithMethod:@"GET" path:@"...." parameters:nil];
AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:rq] ;
operation.outputStream = [NSOutputStream outputStreamToFileAtPath:path append:NO];
[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
//completion
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
//manage error
}];
[[MIHTTPClient sharedInstance] enqueueHTTPRequestOperation:operation];
Run Code Online (Sandbox Code Playgroud)
如何从此队列收到反馈?我没有看到任何"HTTPClientDelegate"协议或类似的东西.
我想我知道Swift上的保留周期是什么以及它为什么会产生内存泄漏.但我写了一个小例子来演示它,似乎代码正确地解除了分配.
在这个例子中,我有两个相互保留的对象(创建保留周期),第三个对象强有力地保持两者.
我希望第三个对象也不可能解除分配,但事实并非如此.
相互保留的两个对象:
class Obj1: NSObject {
var objc2: Obj2?
deinit {
print("Obj1 Deinit")
}
}
class Obj2: NSObject {
var obj1: Obj1?
deinit {
print("Obj2 Deinit")
}
}
Run Code Online (Sandbox Code Playgroud)
容器:
class Container {
var obj1: Obj1?
var obj2: Obj2?
deinit {
print("Container Deinit")
}
}
Run Code Online (Sandbox Code Playgroud)
生成保留周期的代码
let obj1 = Obj1()
let obj2 = Obj2()
obj1.objc2 = obj2
obj2.obj1 = obj1
let c = Container()
c.obj1 = obj1
c.obj2 = obj2
Run Code Online (Sandbox Code Playgroud)
控制台上的结果是:
Container Deinit
Run Code Online (Sandbox Code Playgroud)
有人可以指出为什么Container即使它的属性不被解除分配?
在UIKit创建与α值的颜色有不同的方式,例如:
UIColor(red: 0, green: 0, blue: 0, alpha: 0.8)
Run Code Online (Sandbox Code Playgroud)
但这种方法不适用于对应类Color的SwiftUI。
我可以使用什么?
ios ×5
afnetworking ×2
git ×2
swift ×2
diff ×1
generics ×1
git-diff ×1
git-merge ×1
ipad ×1
nserror ×1
nullable ×1
oauth-2.0 ×1
objective-c ×1
retain-cycle ×1
retaincount ×1
swiftui ×1
xcode7 ×1