小编Evg*_*ban的帖子

Swift从Web链接获取文件扩展名

我有网络链接,就像这样:

http://hr-platform.nv5.pw/image/comp_1/pdf-test.pdf
Run Code Online (Sandbox Code Playgroud)

它可能会有不同的文字或扩展名.我想要的是,得到"pdf"字符串,并且很高兴有文件名,在这种情况下 - "pdf-test".

如何从Web链接获取这些字符串?谢谢.

swift

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

快速更改日期选择器语言

我想在我的UIDatePicker中更改月份表示的格式.我试过了:

self.datePicker = UIDatePicker()
self.datePicker.backgroundColor = .white
self.datePicker.datePickerMode = .date
let loc = Locale.init(identifier: "uk")
var calendar = Calendar.current
calendar.locale = loc
self.datePicker.calendar = calendar
Run Code Online (Sandbox Code Playgroud)

在那之后,月表示假设是乌克兰语,但它仍然使用其他语言.

uidatepicker ios swift

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

为方便起见,不能使用#define

我可能犯了一些语法错误,但我无法理解为什么我的代码不起作用:

在.m文件的顶部,我写道:

#define kCountry "Country";
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我从xCode得到红色警告 - 预期]

然后在函数体中:

 floatCountries = 74,2;
 [[NSUserDefaults standardUserDefaults]setFloat:floatCountries forKey:kCountry];

  float test= [[NSUserDefaults standardUserDefaults]floatForKey:kCountry];
  NSLog(@"%f", test);
Run Code Online (Sandbox Code Playgroud)

在那一个 - 预期的表达.

这可能听起来有点愚蠢,但我想简化我的代码并使用它,请帮助我!:)

xcode cocoa-touch objective-c ios c-preprocessor

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

使用乘法器步骤的Swift迭代数组

我有100个项目的数组.我想用特定的步骤,2n,3n,4n等迭代它.例如,如果n = 3,我想迭代3,6,9,12个数组元素.

怎么实现呢?谢谢.

arrays swift

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

Swift 中的单次尝试意义

我找了这篇文章,但它没有涵盖我的情况。

如果我理解正确,我们可以try 在 do..catch.. 语句或可以抛出的函数中使用。

但有时我会看到类似的东西:

let jsonData = try jsonEncoder.encode(employee1)
Run Code Online (Sandbox Code Playgroud)

其中 jsonData 不是可选的。这是什么意思?如果尝试语句失败怎么办?为什么值不是可选的?有人可以解释一下吗?谢谢。

swift

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

迅速反向防守问题

我有关闭可能会返回错误.它看起来像:

session.dataTask(with: url) { (data, response, error) in
Run Code Online (Sandbox Code Playgroud)

接下来我想处理错误.我想使用guard语句来解包错误,如果存在,则显示alert和return函数.但我怎么能表现得像

guard !(let error = error) else { return }
Run Code Online (Sandbox Code Playgroud)

我不能.我可以检查nil然后再次解开错误,但那看起来很难看.或者我可以使用,如果让我解开,但为了错误检查,我更喜欢看守.那么,有没有办法很好地写下面的?

guard !(let error = error) else { return }
Run Code Online (Sandbox Code Playgroud)

ios swift

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

不能在不可变值 Swift 上使用可变成员

我想写一个扩展,Double这样它 func 就会给出Int值。

extension Double {
  func toPercentage() -> Int {
    var mutableSelf = self
    var twoDigits = Double(round(1000*mutableSelf)/1000)
    return Int(twoDigits) * 100
  }
}
Run Code Online (Sandbox Code Playgroud)

在线var twoDigits = Double(round(1000*mutableSelf)/1000)编译器抛出红色 - Cannot use mutating member on immutable value: 'self' is immutable

但我确实将 self 重新分配给mutableSelf变量。Double 是结构体,不是引用类型,为什么会出现错误?

swift

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

检查collectionView是否滚动顶部

我需要知道,当我的collectionView点击屏幕顶部时.有很多类似的主题建议如下:

- (void)scrollViewDidScroll:(UIScrollView *)scrollView {

    if (scrollView.contentOffset.y == 0)
        NSLog(@"At the top");
}
Run Code Online (Sandbox Code Playgroud)

但是,它不适合我.我已collectionView声明如下:

@property (weak, nonatomic) IBOutlet UICollectionView *myCollectionView;

- (void)scrollViewDidScroll:(UIScrollView *)scrollView {

    if (self.myCollectionView.contentOffset.y == 0)
        NSLog(@"At the top");
}
Run Code Online (Sandbox Code Playgroud)

也不行.代表是通过故事板设置的.

如何检测我的集合视图何时滚动到顶部?为什么那个方法没有调用?

objective-c ios

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

特定索引后的 Swift 字符串

我想知道如何在特定字符之后获取字符串的其余部分。

\n\n

我已经检查过链接

\n\n

但还没有找到答案。

\n\n

考虑以下代码:

\n\n
let fullString = "Blue Sky"\nlet spaceIndex = fullName.index(of: " ")!\n
Run Code Online (Sandbox Code Playgroud)\n\n

我知道我可以像这样得到第一个字符串:

\n\n
let firstString = fullString[fullString.startIndex..<spaceIndex] // "Blue\xe2\x80\x9d\n
Run Code Online (Sandbox Code Playgroud)\n\n

let firstString = fullString[fullString.startIndex..>spaceIndex] // "Blue\xe2\x80\x9d不工作。

\n\n

我想要的是——“天空”。如何获得?

\n

string swift

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

尝试使用Alamofire检查iOS设备上的互联网连接

我使用以下代码来检查互联网连接:

class Reachability {

    let networkReachabilityManager = Alamofire.NetworkReachabilityManager(host: "www.google.com")

    func checkForReachability() {
        self.networkReachabilityManager?.listener = { status in
            print("Network Status: \(status)")
            switch status {
            case .notReachable:
                print("no internet connection detected")
            //Show error here (no internet connection)
            case .reachable(_), .unknown:
                print("internet connection availible")
            }
        }
        self.networkReachabilityManager?.startListening()
    }
}
Run Code Online (Sandbox Code Playgroud)

当连接存在时,它成功调用.reachable中的块.但是如果连接缺席没有任何呼叫,为什么?

我这样称呼(保持对类的引用,所以它没有发布)

class AppDelegate: UIResponder, UIApplicationDelegate {
    var window: UIWindow?
    let reachabilityManager = Reachability()

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
        window = UIWindow(frame: UIScreen.main.bounds)
        reachabilityManager.checkForReachability()
        return true
    }
Run Code Online (Sandbox Code Playgroud)

reachability ios swift alamofire

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