小编kev*_*kev的帖子

在Swift中将Float转换为Int

我想将转换FloatInt斯威夫特.像这样的基本转换不起作用,因为这些类型不是基元,与Objective-C中的floats和ints 不同

var float: Float = 2.2
var integer: Int = float as Float
Run Code Online (Sandbox Code Playgroud)

但是这会产生以下错误消息:

'Float'不能转换为'Int'

知道如何将属性转换FloatInt

casting type-conversion swift

190
推荐指数
6
解决办法
19万
查看次数

Swift语言中的抽象类

有没有办法在Swift语言中创建一个抽象类,或者这是一个像Objective-C一样的限制?我想创建一个类似于Java定义为抽象类的抽象类.

inheritance abstract-class subclass swift

136
推荐指数
6
解决办法
8万
查看次数

Swift语言中的抽象函数

我想用快速语言创建一个抽象函数.可能吗?

class BaseClass {
    func abstractFunction() {
        // How do I force this function to be overridden?
    }
}

class SubClass : BaseClass {
    override func abstractFunction() {
        // Override
    }
}
Run Code Online (Sandbox Code Playgroud)

inheritance abstract-class swift

118
推荐指数
7
解决办法
5万
查看次数

iOS 8照片框架:获取iOS8所有相册的列表

如何在iOS8中获取所有集合的列表,包括相机胶卷(现在称为瞬间)?

在iOS 7中,我使用ALAssetGroup枚举块,但这不包括iOS时刻,这似乎相当于iOS7中的Camera Roll.

    void (^assetGroupEnumerator)(ALAssetsGroup *, BOOL *) = ^(ALAssetsGroup *group, BOOL *stop)
    {
        if (group == nil) {// We're done enumerating
            return;
        }

        [group setAssetsFilter:[ALAssetsFilter allAssets]];
        if ([[sGroupPropertyName lowercaseString] isEqualToString:@"camera roll"] && nType == ALAssetsGroupSavedPhotos) {
            [_assetGroups insertObject:group atIndex:0];
        } else {
            [_assetGroups addObject:group];
        }
    };

    // Group Enumerator Failure Block
    void (^assetGroupEnumberatorFailure)(NSError *) = ^(NSError *error) {
        SMELog(@"Enumeration occured %@", [error description]);
    };

    // Enumerate Albums
    [_library enumerateGroupsWithTypes:kSupportedALAlbumsMask
                            usingBlock:assetGroupEnumerator
                          failureBlock:assetGroupEnumberatorFailure];
    }];
Run Code Online (Sandbox Code Playgroud)

ios8

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

Swift:使用枚举在CoreData中存储状态

我想在CoreData中为托管对象存储枚举状态

enum ObjStatus: Int16 {
    case State1 = 0
    case State2 = 1
    case State3 = 3
}

class StateFullManagedObject: NSManagedObject {
    @NSManaged var state: Int16
}
Run Code Online (Sandbox Code Playgroud)

最后一步是将StateFullManagedObject的状态变量转换为ObjStatus以进行直接比较,这对我不起作用.例如,我不能在Int16和Int16枚举之间使用==运算符.我得到的编译时错误是

Int16无法转换为'MirrorDisposition'

.见下面的条件:

var obj: StateFullManagedObject = // get the object

if (obj.state == ObjStatus.State1) { // Int16 is not convertible to 'MirrorDisposition'

}
Run Code Online (Sandbox Code Playgroud)

如何在Int16和枚举之间进行比较/分配?

core-data swift

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

iOS:如何知道viewDidLoad是否被调用?

是否有BOOL或其他方式知道viewDidLoad:是否已被调用?

每次我的视图进入活动状态时,我都需要更改视图属性,但如果视图尚未加载,我不想过早地触发viewDidLoad:.如果没有方法轻易告诉viewDidLoad:是否已被调用,我只需在视图控制器init 中将一个名为loaded set 的BOOL添加到NO,然后在输入active后更改视图属性(如果已加载为YES)或在viewWillAppear中:如果加载为NO,则将加载设置为YES.

iphone uiviewcontroller viewdidload viewwillappear ios

15
推荐指数
1
解决办法
8617
查看次数

Swift中使用数组/字典的键值编码(KVC)

是否可以使用本机Swift数据结构(如数组和字典)来键值代码(KVC)?键值编码仍可用于Swift中的NSFoundation结构,就像在Objective C中一样.

例如,这是有效的:

var nsarray: NSArray = NSArray()
// Fill the array with objects
var array: NSArray = nsarray.valueForKeyPath("key.path")
Run Code Online (Sandbox Code Playgroud)

但这是无效的:

var swiftarray: Array = []
// Fill the array with objects
var array = swiftarray.valueForKeyPath("key.path") // Invalid, produces a compile-time error
Run Code Online (Sandbox Code Playgroud)

key-value-coding swift

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

GPUImageHistogramFilter用于静态图像,提供零数据

这个答案非常相似,除了我想为静止图像生成直方图.

下面是我正在做的,它给出了所有0数据的直方图.让这个工作有一些技巧吗?

GPUImageFilter *filter = [[GPUImageHistogramFilter alloc]  initWithHistogramType:kGPUImageHistogramRGB];

GPUImagePicture *original = [[[GPUImagePicture alloc] initWithImage:image] autorelease];

GPUImageGammaFilter *gammaFilter = [[GPUImageGammaFilter alloc] init];
[original addTarget:gammaFilter];
[gammaFilter addTarget:filter];

GPUImageHistogramGenerator *histogramGraph = [[GPUImageHistogramGenerator alloc] init];

[histogramGraph forceProcessingAtSize:CGSizeMake(256.0, 330.0)];
[filter addTarget:histogramGraph];

GPUImageAlphaBlendFilter *blendFilter = [[GPUImageAlphaBlendFilter alloc] init];
blendFilter.mix = 0.75;
[blendFilter forceProcessingAtSize:CGSizeMake(256.0, 330.0)];

[original addTarget:blendFilter];
[histogramGraph addTarget:blendFilter];

[blendFilter addTarget:gpuImageView];

[original processImage];
Run Code Online (Sandbox Code Playgroud)

image-processing objective-c ios gpuimage

5
推荐指数
1
解决办法
649
查看次数

如何从其超级图层中删除 CAGradientLayer

我将图层添加到我的视图中:

    [self.layer insertSublayer:_gradient above:_another.layer];
Run Code Online (Sandbox Code Playgroud)

那么即使我在超级层上调用needDisplay,它似乎也不会被删除:

        [_gradient removeFromSuperlayer];
Run Code Online (Sandbox Code Playgroud)

我怎样才能删除它?

calayer uiview ios cagradientlayer

5
推荐指数
1
解决办法
3910
查看次数

Swift:符合协议的 AnyClass 变量

我有一个静态函数,我想在符合协议的类上调用。

protocol P {
    static func f();
}

class C: P {
    static func f() {}
}
Run Code Online (Sandbox Code Playgroud)

有没有办法将C.self符合协议的类型存储为变量?下面没有编译,但这是我理想中想要做的:

let a: AnyClass<P> = C.self;
a.f();
Run Code Online (Sandbox Code Playgroud)

generics swift swift2

5
推荐指数
1
解决办法
1329
查看次数

以编程方式禁用UIView的安全区域布局指南

通过取消选中,可以在Interface Builder中禁用安全区域布局指南Use Safe Area Layout Guides。如何用代码完成?

我没有注意到与该复选框直接对应的iOS11可用布尔值。

ios ios11 xcode9

5
推荐指数
1
解决办法
4518
查看次数

UIView:自动调整除一个子视图外的所有子视图 - iOS

我已通过界面构建​​器在superview中启用了Autoresize Subviews.有没有办法以编程方式禁用一个子视图的自动调整?

uiviewcontroller uiview autoresize ios

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