小编Nat*_*Mio的帖子

按日期排序数组中的对象

我有一个包含被调用对象的数组HistoryObject,它具有"日期","名称"等属性.

我像这样排序数组:

 let sortedArray = HistoryArray.sort({ $0.date.compare($1.date) == NSComparisonResult.OrderedDescending})
Run Code Online (Sandbox Code Playgroud)

应该将日期从较新到最旧排序.例如:

  • 2016年6月30日
  • 2016年6月29日

等等..

但是当我的数组包含"2016年7月2日"时,排序的数组变为:

  • 2016年6月30日
  • 2016年6月29日
  • 2016年7月2日

排序后"2016年7月2日"应该排在最前面,现在它位于底部?我该如何解决这个问题?

arrays sorting swift

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

在UICollectionViewCell中处理滚动视图大小

我做了一个水平UICollectionView,内部UICollectionViewCell我有scrollview和在scrollview内我有一个imageView.

我遇到的问题是,当我放大imageView时,scrollView会占用所有单元格大小,因此它不适合图像大小的高度和宽度.通过向上和向下滚动图像从scrollview中消失,我有不知道我的代码中出了什么问题.

我的ColectionViewCell代码:

class CollectionViewCell: UICollectionViewCell {
    @IBOutlet var scrollView: UIScrollView!
    @IBOutlet var ImageV: UIImageView!
}
Run Code Online (Sandbox Code Playgroud)

CollectionView代码:

func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
  let cell = collectionView.dequeueReusableCellWithReuseIdentifier("cell", forIndexPath: indexPath) as! CollectionViewCell

  cell.scrollView.contentMode = UIViewContentMode.ScaleAspectFit
  cell.scrollView.delegate = self
  cell.ImageV.image = UIImage(named: array[indexPath.row])
  cell.ImageV.contentMode = UIViewContentMode.ScaleAspectFit

  cell.scrollView.minimumZoomScale = 1
  cell.scrollView.maximumZoomScale = 4;
  cell.scrollView.contentSize = cell.ImageV.frame.size

  return cell
}

func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize {

  return CGSize(width: self.collectionView.frame.size.width …
Run Code Online (Sandbox Code Playgroud)

uiscrollview ios uicollectionview swift

17
推荐指数
1
解决办法
4215
查看次数

Swift中的超级初始化构造函数

我曾经在我的类NSObject构造函数中使用以下代码使用Objective-c:

- (id)init {
    self = [super init] ;
    return self;
}
Run Code Online (Sandbox Code Playgroud)

我如何在Swift中使用它?

我试着这样做:

override init() {
    self = super.init()
    return self;
}
Run Code Online (Sandbox Code Playgroud)

我有两个错误:

cannot assign value self is immutable
nil is the only return value permitted in this initializer  
Run Code Online (Sandbox Code Playgroud)

objective-c ios swift

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

自定义UIView类 - Swift

我已经建立了一个从底部出现的视图,并在一段时间后隐藏它并且运行良好,但我想在UIView课堂上作为模态,我查看了互联网,但我无法理解如何做到这一点.

snake = UIView(frame: CGRect(x: 0 , y: self.view.frame.size.height-66, width: self.view.frame.size.width, height: 66))
snake.backgroundColor = UIColor(red: 50/255, green: 50/255, blue: 50/255, alpha: 1.0)


let label = UILabel(frame: CGRect(x: 12, y: 8, width: snake.frame.size.width-90, height: 50))
label.text = "Connection error please try again later!!"
label.textColor = UIColor.whiteColor()
label.numberOfLines = 0
label.font = UIFont.systemFontOfSize(14)
snake.addSubview(label)

let button = UIButton(frame: CGRect(x: snake.frame.size.width-87, y: 8, width: 86, height: 50))
button.setTitle("OK", forState: UIControlState.Normal)
button.setTitleColor(UIColor(red: 76/255, green: 175/255, blue: 80/255, alpha: 1.0), forState: UIControlState.Normal) …
Run Code Online (Sandbox Code Playgroud)

uiview ios swift

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

无法转换NSMutableDictionary类型的值?预期的参数类型[NSObject:AnyObject]!

我想跳过使用Xcode 8 beta并转换我的代码,但我在这里面临一些问题,我使用Google AnalyticsSDK发送事件,这就是我以前在Swift 2.2中使用它的方式:

    let tracker = GAI.sharedInstance().defaultTracker
    tracker?.set(kGAIScreenName, value: "ViewController")
    let builder = GAIDictionaryBuilder.createScreenView()
    tracker?.send(builder?.build() as [NSObject:AnyObject])
Run Code Online (Sandbox Code Playgroud)

但现在我想使用Swift 3,它告诉我:

无法将NSMutableDicationary类型的值转换为强制类型[NSObject:AnyObject].

google-analytics ios swift3

10
推荐指数
1
解决办法
3584
查看次数

禁用SWRevealViewController在addGestureRecognizer上弹跳

我正在尝试SWRevealViewController在我的应用程序中使用滑动菜单库,但我需要用一个选项编辑库,我将解释如下.当使用addgestureRecognizer并打开滑动菜单时,保持从左到右,然后离开它,它会向右外侧反弹,然后关闭菜单.我只需要从库中禁用此选项,就像打开它的正常限制而不弹跳一样.

GitHub上的链接在这里:https: //github.com/John-Lluch/SWRevealViewController

objective-c ios swrevealviewcontroller swift

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

带有多个对象和键的NSDictionary init

我最近一直试图弄清楚如何在swift中初始化一个字典,就像我以前在Objective-c中做的那样:

NSMutableDictionary *loginDictionary = [[NSMutableDictionary alloc] initWithObjects:@[UsernameTextfield.text,PasswordTextfield.text] forKeys:@[@"username",@"password"];
Run Code Online (Sandbox Code Playgroud)

我试着在Swift中写它:

let userDictionary = NSMutableDictionary.init(object: [usernameTextField.text,passwordTextField.text], forKey: ["username","password"])
Run Code Online (Sandbox Code Playgroud)

但我得到一个错误:

上下文类型AnyObject不能与数组文字一起使用.

objective-c ios swift

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

在swift中获取单例实例

我在objective-c中编写了一个类来为我提供一个名为helper的类的实例,它可以帮助我做很多不同的事情.

static Helper *objHelper = nil;

@implementation Helper

- (id)init {
    self = [super init] ;
    return self;
}

///- Return Helper Singleton Instance
+ (Helper *) getHelperInstance;
{
    @synchronized (objHelper) {
        if ( !objHelper || objHelper == NULL ) {
            objHelper = [[Helper alloc] init];
        }
        return objHelper;
    }
}
Run Code Online (Sandbox Code Playgroud)

我试过快速写它,但我不认为我做对了:

var objHelper : Helper?


override init() {
    super.init()

}

func getHelperInstance() ->Helper{

    synchronizd(objHelper == nil) {

        if objHelper == nil {

            objHelper = Helper()
        }
    }
    return objHelper! …
Run Code Online (Sandbox Code Playgroud)

objective-c ios swift

0
推荐指数
1
解决办法
2185
查看次数