小编Bin*_*ian的帖子

有没有办法在Swift中设置相关对象?

来自目标C,您可以objc_setAssociatedObject在两个对象之间调用函数以使它们维护一个引用,如果在运行时您不希望销毁对象直到其引用也被删除,这可能很方便.斯威夫特有什么类似的东西吗?

swift

76
推荐指数
4
解决办法
3万
查看次数

如何在Swift中导入现有的Objective C类

我曾经在XCode 6.0 DP中使用Swift一段时间,在我现有的项目中使用它.我试图从我的ViewController.swift文件访问MyModel.h(我现有的Objective C Model对象).我想导入

#import "MyModel.h"到我的Swift文件.但我无法找到如何做到这一点.

ios swift

61
推荐指数
3
解决办法
6万
查看次数

为什么我收到"找不到libxml/tree.h文件"错误?

我刚刚安装了Xcode版本4.3.1,我收到此错误:

找不到libxml/tree.h文件

我也安装了Xcode 4.2,并且在同一项目中我得到了同样的错误.

我已经配置了标题搜索路径,/usr/include/libxml2
我也试过$(SDKROOT) / usr/include/libxml2,但它没有用.

我也把Other Linker Flag放了lxml2

iphone xcode libxml2

43
推荐指数
5
解决办法
4万
查看次数

"笔尖"和"xib"代表什么?

我想知道为什么要调用该文件扩展名nibxib.

我猜在笔尖中的ib是.Interface Builder

但是n?还是x?任何的想法?

iphone xcode

40
推荐指数
2
解决办法
1万
查看次数

Git master分支没有上游分支

我正在尝试将我的一个项目推送到github,并且我一直收到此错误:

fatal: The current branch master has no upstream branch.
Run Code Online (Sandbox Code Playgroud)

我以前从未见过这个.我重新初始化了我的git,重新添加了我的源,删除并重新制作了repo,并重新创建了我的SSH密钥.

git github

40
推荐指数
4
解决办法
7万
查看次数

解决方法在Objective-C中完成受保护的属性

我一直在尝试找到一种解决方法来在Objective-C中声明@protected属性,因此只有层次结构中的子类才能访问它们(只读,而不是写入).我读到没有记录的方法这样做,所以我想到了这个解决方法,我想问一下StackOverflow对它的看法.

层次结构顶部的每个自定义类都包含三个类,一个实现和两个接口.我们给它们命名:

ClassA.h
ClassA_protected.h
ClassA.m
Run Code Online (Sandbox Code Playgroud)

那么这个ClassA的任何子类都会像往常一样:

ClassB.h
ClassB.m
Run Code Online (Sandbox Code Playgroud)

首先,我创建了接口ClassA.h,其中我声明了一个受保护的int变量,因此ClassA的任何子类都可以访问它:

@interface ClassA : NSObject{
    @protected
    int _myProtectedInt;
}
@end
Run Code Online (Sandbox Code Playgroud)

下一步是我正在谈论的解决方法.但是,一旦你阅读它,你会发现它非常直接.我声明了第二个名为ClassA_protected.h的接口,它实际上是ClassA.h 的扩展,允许我们将属性标记为readonly:

#import "ClassA.h"
@interface ClassA ()
@property (nonatomic , readonly) int myProtectedInt;
@end
Run Code Online (Sandbox Code Playgroud)

准备受保护层次结构的最后一步是在ClassA.m中声明它的实现,我们只合成我们的属性:

#import "ClassA_protected.h"
@implementation ClassA
@synthesize myProtectedInt = _ myProtectedInt;
@end
Run Code Online (Sandbox Code Playgroud)

这样,每个需要成为ClassA.h子类的类都将导入ClassA_protected.h.因此,像ClassB.h这样的孩子如下:

#import "ClassA_protected.h"
@interface ClassB : ClassA
@end
Run Code Online (Sandbox Code Playgroud)

以及从ClassB.m的实现中访问此属性的示例:

@implementation ClassB
-(void) method {
    //edit protected variable 
    _myProtectedInt= 1; …
Run Code Online (Sandbox Code Playgroud)

properties protected objective-c

39
推荐指数
2
解决办法
1万
查看次数

NSString中的大写首字母

我怎样才能将NSString的fisrt字母大写,并删除任何重音?

例如,Àlter,Alter,alter应该成为 Alter.

但是,/lter,)lter,:lter应该仍然是相同的,作为第一个字符是不是字母.

iphone ios uppercase

38
推荐指数
3
解决办法
5万
查看次数

在Xcode中排序文件列表?

Xcode中有一种方法可以按字母顺序对Classes文件夹下的文件列表进行排序吗?

我知道我可以拖动它们,但是大量的文件很痛苦.

我很惊讶我无法右键单击该文件夹并说出要排序.

xcode

36
推荐指数
1
解决办法
6561
查看次数

Swift:属性符合特定类,同时符合多个协议

在Objective-C中,可以编写类似的东西:

@property(retain) UIView<Protocol1, Protocol2, ...> *myView;
Run Code Online (Sandbox Code Playgroud)

但是如何在swift中编写这段代码呢?

我已经知道如何使属性符合许多协议,但它不能使用继承:

var myView: ??? protocol<Protocol1, Protocol2, ...>
Run Code Online (Sandbox Code Playgroud)

编辑:

我使用许多UIView子类型UIImageView,UILabel或者其他类型,我需要使用一些UIView属性以及协议中定义的一些方法.在最坏的情况下,我可以UIViewProtocol使用所需的属性创建一个,但我知道在Swift中是否可以声明一个属性/变量,其类型和一些协议符合.

protocols swift

31
推荐指数
3
解决办法
5901
查看次数

查找路径的父目录

有没有办法找到路径的父目录使用NSFileManager什么?

举这个:

/路径/到/某事

把它变成

/路径/到/

cocoa path objective-c nsfilemanager

29
推荐指数
3
解决办法
2万
查看次数