小编Mat*_*oal的帖子

使用ARC,生命周期限定符分配和unsafe_unretained

我对这两个限定符有点困惑...使用ARC而不是使用weak(即如果我需要支持iOS 4)我可以使用unsafe_unretained丢失auto-nil功能......最终结果似乎与之类似assign.

  • 我可以换unsafe_unretainedassign
  • 这些限定符是一样的吗?

关于这个论点的Apple文档的任何链接都会非常有趣......我在这里只能找到几行

objective-c ios automatic-ref-counting

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

Swift中的功能测试.模拟应用程序流程

我正在尝试在Swift中执行一些非常简单的功能/功能测试,但我有一些疑问,我需要解决才能创建有用的测试.

我想验证由另一个Controller提供的Controller是否存在于应用程序导航层次结构中(如果Controller已经被呈现为NavigationController,如Modal或其他什么,则无关紧要).

如果我以编程方式实例化并显示控制器,直接进入测试功能,当我检查On Top控制器时,我总是得到Storyboard根控制器而不是我刚刚实例化的控制器,好像我手动创建的控制器永远不会添加到应用程序层次结构中.

这里是伪代码的一个例子:

func testController(){ 

    // Instantiate a controller 
    let storyBoard:UIStoryboard = UIStoryboard(name: "Main", bundle: NSBundle(forClass: self.dynamicType))
    let controller1 = storyBoard.instantiateViewControllerWithIdentifier("Controller1") as? ControllerOneViewController
    controller1.loadView()

    // Call a function that instantiates another controller 
    controller1.pushAnotherController()

    // Test that the current shown controller is what we expect... 
    let rootController = UIApplication.sharedApplication().keyWindow?.rootViewController
    XCTAssert(rootController.self == TheExpectedClass, "Controller is not what we expect")
}
Run Code Online (Sandbox Code Playgroud)

testing functional-testing swift

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

Swift中的小写字典键

我需要转换一个Dictionary带有混合大小写的键,Dictionary但是只能使用小写键.

这是我的尝试(它有效,但我发现这个实现非常粗糙)

extension Dictionary {
    func lowercaseKeys()->Dictionary<String, AnyObject>{
        var newDictionary = Dictionary<String,AnyObject>()

        for k in keys{
            if let k_string = k as? String{
                newDictionary[k_string.lowercaseString] = self[k] as? AnyObject
            }
        }
        return newDictionary
    }
}
Run Code Online (Sandbox Code Playgroud)

你能建议一个更优雅的方法来解决这个问题吗?

swift

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

修改Info.plist以在运行时设置"Application is agent(UIElement)"

比方说,我需要给用户一个首选项面板来选择是否使用该应用程序为"标准"(与停靠图标和菜单)或代理应用程序(只有状态栏菜单)的能力.

我想我需要在执行期间以编程方式修改应用程序的"Info.plist",将参数"Application is agent"更改为YES/NO.

这是正确的方法吗?

PS你可以在"麻雀"中找到这种行为.

cocoa

7
推荐指数
1
解决办法
3409
查看次数

dispatch_sync调用dispatch_async调用

我对这段代码的行为有些怀疑:

dispatch_async(queue, ^{
    sleep(2);
    NSLog(@"step1");

    dispatch_sync(queue, ^{
        sleep(3);
        NSLog(@"step 2");
    });

    NSLog(@"step 3");
});
Run Code Online (Sandbox Code Playgroud)

从这些行我希望得到输出,step1 -> step3 -> step2但我只获得step1.

如果我用dispatch_async更改dispatch_sync它按预期工作,dispatch_sync是否会调度dispatch_async创建这种问题?

答案后编辑----------------

这种情况造成了死锁:

您可以查看已接受的答案以获得有关此情况的说明,并查看此链接以获取文档http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man3/dispatch_async.3.html

objective-c grand-central-dispatch ios

7
推荐指数
1
解决办法
4395
查看次数

Laravel:部署和供应商文件夹

我刚刚在Laravel 4中完成了一项简单的工作,我已准备好在我的服务器上进行部署.

我发现供应商文件夹的大小为100MB,我想知道是否有必要上传其所有子文件夹.我想我没有使用大多数这些库,是否有一个很好的做法可以遵循部署Laravel项目?

deployment laravel

7
推荐指数
3
解决办法
1万
查看次数

iOS 8 iCloud Drive和iCloud中的先前核心数据DB

我的问题是:先前使用Core Data + iCloud存储在iCloud中的数据是否与iCloud Drive迁移相关联?因此,如果我的用户选择在iOS8之后转移到iCloud Drive,他们的Core Data DB会被转移到iCloud Drive吗?或者此迁移仅与文档相关?

core-data icloud ios8

7
推荐指数
1
解决办法
249
查看次数

在面向iOS 7的Project中导入Alamofire

我检查了新的Alamofire安装步骤.

由于我需要定位iOS 7.0,我想知道导入Alamofire.swift是否足以让它工作?

为什么文档声明将函数包装在一个Struct Alamofire?是否需要调用函数,因为它们在命名空间中?在那种情况下我要包装整个文件还是单个函数?

alamofire

7
推荐指数
1
解决办法
2140
查看次数

ALAssets组枚举:如何检查完成?

ALAssets使用分离的线程来管理枚举,我必须知道枚举何时终止.

组枚举的块原型是:

typedef void (^ALAssetsLibraryGroupsEnumerationResultsBlock)(ALAssetsGroup *group, BOOL *stop);

我该如何添加完成块?

iphone objective-c ios

6
推荐指数
1
解决办法
2556
查看次数

关于 dotnet 版本的 Omnisharp 错误 - Unity

今天在 VSCode 启动时我收到此错误:

Starting OmniSharp server at 27/5/2022, 12:37:25
    Target: f:\UnityProjects\MyGame.sln
[ERROR] Error: Found dotnet version 5.0.407. Minimum required version is 6.0.100.
Run Code Online (Sandbox Code Playgroud)

我读到omnisharp 有更新,但我真的不知道如何解决这个问题。我已经通过新的 Visual Studio 安装安装了 dotnet 6.0 TLS...我还能做些什么来让 dotnet 与我的 Unity 项目一起使用吗?

unity-game-engine omnisharp visual-studio-code

6
推荐指数
1
解决办法
8557
查看次数