我想创建一个水平步进器,我知道这很容易,但是这一次,步数应该很大。
举个例子,这就是我在垂直领域所做的事情,
import 'package:flutter/material.dart';
void main() => runApp(new MyApp());
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return new MaterialApp(
title: 'Flutter Demo',
theme: new ThemeData(
primarySwatch: Colors.blue,
),
home: new HomePage(),
);
}
}
class HomePage extends StatelessWidget{
@override
Widget build(BuildContext context) {
return new Scaffold(
body: Container(
margin: EdgeInsets.symmetric(vertical: 20.0),
child: new ListView(
children: <Widget>[
new Text("Helllo "),
new Text( " Welcome"),
new Text (" Yaaa0"),
new …Run Code Online (Sandbox Code Playgroud) 我正在学习 NSURLSession 来制作自定义网络类,并偶然发现了一个非常不寻常的错误。
我的目标很简单,一旦完成,我想将 URL 的响应写入文件中。所以我创建了一个下载任务并将其分配给defaultSessionConfiguration。在将委托分配给配置和不将委托分配给配置(在这种情况下完成处理程序工作)的两种情况下都有效。
现在我转移到backgroundSessionConfigurationWithIdentifier。后台会话不支持 blocks ,因此委托调用是强制性的。
每次都以错误告终。错误如下
Printing description of error:
Error Domain=NSURLErrorDomain Code=-1 "unknown error" UserInfo={NSErrorFailingURLKey=http://__________________, NSErrorFailingURLStringKey=http://__________________, NSLocalizedDescription=unknown error}
Run Code Online (Sandbox Code Playgroud)
我想我一定是后台配置写错了,所以我通过创建一个演示下载任务来下载图像并将这个任务添加到这个后台会话中来测试它。这次有效
有效的代码如下:
+ (CustomNetwork *)sharedNetworkObject
{
if(!netWorkObj)
{
netWorkObj = [[CustomNetwork alloc] init];
//[netWorkObj prepareDataSession];
//[netWorkObj prepareBackgroundSession];
}
return netWorkObj;
}
//
+ (NSOperationQueue *)responseQueue
{
if(!queue)
{
queue = [[NSOperationQueue alloc] init];
}
return queue;
}
- (void)prepareDataSession
{
if(!dataSession)
{
NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];
configuration.HTTPMaximumConnectionsPerHost = 5; // This …Run Code Online (Sandbox Code Playgroud) 所以我试图重构我的 listView 逻辑。基本上我的 ListView 在 UI 逻辑上变得很麻烦,所以我决定,为什么不将 UI 逻辑的某些部分移到另一个类中
这是我的代码 ListPage.dart
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter/widgets.dart';
import 'package:sample_flutter_works/ListTextArea.dart';
import 'package:sample_flutter_works/Model.dart';
import 'dart:convert';
import 'package:sample_flutter_works/RefreshTableContainer.dart';
class ListPage extends StatefulWidget {
@override
MyListPage createState() => MyListPage();
}
class MyListPage extends State<ListPage> {
MessageList messageList;
List<int> viewTimeInfo;
ScrollController _controller;
_scrollListener() {
}
@override
void initState() {
super.initState();
SystemChrome.setPreferredOrientations(
[DeviceOrientation.portraitUp, DeviceOrientation.portraitDown]);
_controller = ScrollController();
_controller.addListener(_scrollListener);
loadMessages(
completionBlock: (dataSet) => {
setState(() {
messageList = dataSet;
})
});
}
void loadMessages({completionBlock}) async {
var …Run Code Online (Sandbox Code Playgroud) 我正在编写一个 swift Network Manager 库,专门为了满足我自己的 API 需求。该类被声明为final,并且有一个静态let 变量来定义该类的单例设计模式。该类中的所有其他函数都是类函数。
不幸的是,每当调用这个单例类并调用单例设计模式方法(即 static let sharedInstance : NetworkManager = NetworkManager.init() )时,它都会给我
停止原因= EXC_BAD_INSTRUCTION(代码= EXC_I386_INVOP,子代码= 0x0)错误。
我以为线程可能有问题,但没有。我只是在 UIViewController 的 viewDidLoad 中调用了 NetworkManager.shared ,它给了我同样的错误。
我在此提供 NetworkManager 类的完整代码
final class NetworkManager {
static let sharedInstance : NetworkManager = NetworkManager.init()
private var urlConfig = URLSessionConfiguration.default
private var urlSession = URLSession(configuration: sharedInstance.urlConfig)
var basePath : String = "https://api.myjson.com/";
private init() {
print("This is getting called at all");
}
//MARK:- POST METHODS
class func performPOST(urlString : String?, bodyParams : [String …Run Code Online (Sandbox Code Playgroud)