- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
在我的应用程序中,我使用的是 AlamofireObjectMapper。我想制作一个返回对象数组的方法。在 Alamofire 的帮助下,我发出了一个 GET 请求,它以 responseArray 的形式给出了响应。使用 void 函数数组 listOfType
总是有值。但是,当我使用应返回对象数组 MedicineType
的非 void 函数时,数组 listOfType
为 nil。所以这是我的代码。
func getAll() -> [MedicineType] {
var listOfTypes: [MedicineType]?;
Alamofire.request(BASE_URL, method:.get)
.responseArray(keyPath:"value") {(response: DataResponse<[MedicineType]>) in
if let status = response.response?.statusCode {
switch(status) {
case 200:
guard response.result.isSuccess else {
//error handling
trở lại
}
listOfTypes = response.result.value;
mặc định:
log.error("Error", status);
}
}
}
return listOfTypes!;
}
1 Câu trả lời
正如我在评论中所说,您需要在闭包中执行此操作,而不是返回它,因为您对 Alamofire 的调用是异步的,因此您的响应将是异步的
这是一个例子,你需要添加你的错误句柄
func getAll(fishedCallback:(_ medicineTypes:[MedicineType]?)->Void){
var listOfTypes: [MedicineType]?;
Alamofire.request(BASE_URL, method:.get)
.responseArray(keyPath:"value") {(response: DataResponse<[MedicineType]>) in
if let status = response.response?.statusCode {
switch(status) {
case 200:
guard response.result.isSuccess else {
//error handling
trở lại
}
finishedCallback(response.result.value as! [MedicineType])
mặc định:
log.error("Error", status);
finishedCallback(nil)
}
}
}
}
使用它
classObject.getAll { (arrayOfMedicines) in
debugPrint(arrayOfMedicines) //do whatever you need
}
希望对你有帮助
关于ios - 使用 Alamofire 返回对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45466651/
Một trong những giáo sư của tôi đã đưa cho chúng tôi một số câu hỏi thực hành cho một kỳ thi và một trong những câu hỏi đó giống như thế này (mã giả): a.setColor(blue); b.setColor(red); a = b; b.setColor(purple); b
Tôi có vẻ sử dụng bài kiểm tra này rất nhiều if( object && object !== "null" && object !== "undefined" ){ doSomething(); } trên một đối tượng, tôi
C# Object/object là kiểu giá trị hay kiểu tham chiếu? Tôi đã kiểm tra rằng họ có thể giữ tham chiếu, nhưng tham chiếu này không thể được sử dụng để thay đổi đối tượng. sử dụng System; lớp MyClass { public static
Tôi đang gặp sự cố khi gửi json qua AJAX. var data = [{"name": "Will", "surname": "Smith", "age": "40"},{"name": "Wil
Khi tôi cố truy cập đối tượng {{result}} trong View của mình (mà tôi gửi từ máy chủ Express js), nó chỉ hiển thị [object][object] Có ai biết cách lấy giá trị ở định dạng JSON không? Đây là
Tôi có dữ liệu ở nhiều kiểu khác nhau (có thể là chuỗi, số nguyên...). Sau đây là một ví dụ đơn giản: public static void main(String[] args) { before("one"); }
Xin chào, tôi mới làm quen với json và javascript. Tôi tìm thấy phương pháp sử dụng dữ liệu json làm bảng trên trang web này. Tôi tò mò tại sao khi tôi thử sử dụng dữ liệu json làm bảng, tôi lại nhận được [Object,Object]
Đã đóng. Sự cố này cần có thông tin chi tiết để gỡ lỗi. Hiện tại không chấp nhận câu trả lời. Chỉnh sửa câu hỏi để bao gồm hành vi mong muốn, một vấn đề hoặc lỗi cụ thể và
Tôi nghe người khác nói null == object tốt hơn object == null kiểm tra Ví dụ: void m1(Object obj ) { if(null == obj) // Đây có phải là
Đối tượng Match cung cấp quyền truy cập vào các thuộc tính chỉ đọc của một biểu thức chính quy khớp. Mô tả Đối tượng Match chỉ có thể được tạo thông qua phương thức Execute của đối tượng RegExp, phương thức này thực sự trả về một tập hợp các đối tượng Match. Tất cả
Đối tượng lớp Đối tượng được tạo bằng cách sử dụng câu lệnh Class. Cung cấp quyền truy cập vào nhiều sự kiện khác nhau của lớp học. Mô tả: Không được phép khai báo rõ ràng một biến là kiểu Class. Trong bối cảnh của VBScript, thuật ngữ "đối tượng lớp" đề cập đến một
Đối tượng Folder cung cấp quyền truy cập vào tất cả các thuộc tính của một thư mục. Đoạn mã sau minh họa cách lấy đối tượng Thư mục và xem các thuộc tính của nó: Hàm ShowDateCreated(f
Đối tượng File cung cấp quyền truy cập vào tất cả các thuộc tính của một tệp. Đoạn mã sau minh họa cách lấy đối tượng File và xem các thuộc tính của nó: Hàm ShowDateCreated(fil
Đối tượng Drive cung cấp quyền truy cập vào các thuộc tính của ổ đĩa hoặc chia sẻ mạng. Mô tả Mã sau đây minh họa cách sử dụng đối tượng Drive để truy cập các thuộc tính của ổ đĩa: Hàm ShowFreeSpac
Đối tượng FileSystemObject cung cấp quyền truy cập vào hệ thống tập tin của máy tính. Đoạn mã sau minh họa cách sử dụng đối tượng FileSystemObject để trả về đối tượng TextStream có thể đọc được.
Tôi mới làm quen với JavaScript OOP và tôi nghĩ đây là một câu hỏi khá cơ bản nhưng tôi không thể tìm thấy bất kỳ sự trợ giúp nào khi tìm kiếm trên web. Tôi có bỏ lỡ điều gì không, hay tôi đang làm sai cách? Đây là mã mẫu của tôi: functionio
Tôi có thể dễ dàng tạo ra nhiều đồ vật khác nhau. Ví dụ như thế này: var myObject = { myFunction: function () { return ""; } };
hàm Person(fname, lname) { this.fname = fname, this.lname = lname, this.getName = hàm()
Có ai có thể giải thích cho tôi tại sao đoạn mã sau lại trả về (object, Object) không? (console.log(dope) cung cấp những gì nó cần, nhưng trong JSON.stringify và JSON.parse
Tôi đang cố gắng hoàn thành bài tập biểu đồ phân tán từ trại mã miễn phí. Tuy nhiên, tôi mới chỉ tự học d3 được vài giờ và sau khi làm theo hướng dẫn từ lynda.com, tôi đã cố gắng xác định cách hiển thị dữ liệu cụ thể trong chú giải công cụ. Mã này
Tôi là một lập trình viên xuất sắc, rất giỏi!