小编Lê *_*inh的帖子

IOS以编程方式创建UIAlertViewController

我正在使用带有代码的ViewController(没有故事板).我正在尝试添加和AlertController

我已经在.m中声明了

@property (nonatomic, strong) UIAlertController *alertController;
Run Code Online (Sandbox Code Playgroud)

并在loadview方法中初始化

//alertviewController
    _alertController = [[UIAlertController alloc]initWithNibName:nil bundle:nil];
Run Code Online (Sandbox Code Playgroud)

并在viewDidLoad以下位置调用alertview :

_alertController = [UIAlertController alertControllerWithTitle:@"Error display content" message:@"Error connecting to server, no local database" preferredStyle:UIAlertControllerStyleAlert];

UIAlertAction *ok = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
                LandingPageViewController *viewController = [[LandingPageViewController alloc] initWithNibName:nil bundle:nil];
    //            viewController.showNavBarBackButton = YES;
                [[AppDelegate sharedAppDelegate].rootViewController cPushViewController:viewController];
}];
[_alertController addAction:ok];
[self presentViewController:_alertController animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)

我不知道为什么警报没有显示出来.我的代码出了点问题.如何以alertViewController编程方式设置和调用?

objective-c uialertview ios

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

App TranSport安全性,允许在升级到IOS 10.1后任意负载不起作用

嗨,我有一个在ios 9和10.0中运行良好的应用程序(我已将"允许任意加载= YES"的App Transport Security阻止添加到我的info.plist.但升级到10.1和Xcode 8.1后似乎有问题使用App Transport Security.我无法连接到服务器.我的服务器仅支持TLS 1.1

显示此错误

Error Domain=NSURLErrorDomain Code=-1022 "The resource could not be loaded because the App Transport Security policy requires the use of a secure connection.
Run Code Online (Sandbox Code Playgroud)

可能是IOS 10.1忽略.plist信息.有谁有这个问题?任何帮助都非常感激.谢谢(注意.在9.3到10.0仍然正常工作)

我的.plist文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>CFBundleDevelopmentRegion</key>
    <string>en</string>
    <key>CFBundleDisplayName</key>
    <string>SingPost</string>
    <key>CFBundleExecutable</key>
    <string>${EXECUTABLE_NAME}</string>
    <key>CFBundleIdentifier</key>
    <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
    <key>CFBundleInfoDictionaryVersion</key>
    <string>6.0</string>
    <key>CFBundleName</key>
    <string>${PRODUCT_NAME}</string>
    <key>CFBundlePackageType</key>
    <string>APPL</string>
    <key>CFBundleShortVersionString</key>
    <string>1.8.7</string>
    <key>CFBundleSignature</key>
    <string>????</string>
    <key>CFBundleURLTypes</key>
    <array>
        <dict>
            <key>CFBundleURLSchemes</key>
            <array>
                <string>fb1540614276180366</string>
            </array>
            <key>Item 0</key>
            <string>fb1540614276180366</string>
        </dict>
    </array>
    <key>CFBundleVersion</key>
    <string>1.8.7</string> …
Run Code Online (Sandbox Code Playgroud)

ios app-transport-security ios10

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

如何禁用生成的签名apk安卓工作室?

嗨我尝试生成签名的apk 1次测试,现在我只想刺激测试设备但Android工作室总是生成签名apk.这将使进程更长(每次我按下运行按钮android studio将自动生成签名apk)如何禁用自动生成签名的apk?我只是想在模拟器上运行应用程序?

android apk android-studio

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

AFNetworking 3.x AFHTTPSessionManager和AFURLSessionManager之间的区别是什么?

我即将AFNetworking从1.x 升级到3.x. 我的问题是AFHTTPSessionManager和之间有什么不同AFURLSessionManager?什么时候使用?哪一个支持XMLJSON请求和响应?谢谢

xml json afnetworking afhttpsessionmanager

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

Swift 3 iOS10核心数据检查记录是否已存在基于id

我正在iOS10上开发一个带有新CoreData和Swift3的应用程序.如果id不存在,我们如何创建新对象(如果对象已经存在,我们从核心数据中提取对象并仅修改它)?

就像是

let objectID = someNumber

If exist with objectID = someNumber {
   //modify object
}else {
   //create new object
   //assign attribute
}

//save
Run Code Online (Sandbox Code Playgroud)

我正在尝试为CoreData使用新的iOS10 Swift 3语法.我使用本机代码而不是任何第三方库.考虑使用fetch但不知道此任务的正确语法是什么.

更新:感谢@Jan我找到了检查的方法.我的更新问题有点是从给定的JSON创建或更新实体.这是我的功能

static func creatOrUpdateArticle(_ json: JSON, context: NSManagedObjectContext) ->Article {

        var article: Article

        let fetchRequest = NSFetchRequest<NSFetchRequestResult>(entityName: "Article")
        let predicateID = NSPredicate(format: "id == %@",json[Key.id].stringValue)
        fetchRequest.predicate = predicateID

        do {

            let results = try context.fetch(fetchRequest)
            if results.count > 0 {
                article = results.first as! Article
            }else {
                article = Article(context: context)
            }

            article.webUrl …
Run Code Online (Sandbox Code Playgroud)

core-data swift3

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

TabLayout中的片段仅在用户滑动Android时加载

嗨,我正在使用和制作一个带有A fragment和少数孩子的应用程序.问题是我的孩子(从)总是执行(每当用户点击父母时加载所有代码.如何让孩子只在用户滑动时加载(例如我有2个标签,仅在标签2中的内容)用户滑动到标签2时加载fragmenttablayoutviewpagerfragmentTablayoutfragmentfragment

这是我的父fragment代码

public class ManageEventFragment extends Fragment {


    public ManageEventFragment() {
        // Required empty public constructor
    }


    TabLayout tabLayout;
    ViewPager viewPager;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View viewFragment = inflater.inflate(R.layout.fragment_manage_event, container, false);

        viewPager = (ViewPager) viewFragment.findViewById(R.id.viewPager);

        tabLayout = (TabLayout) viewFragment.findViewById(R.id.tabLayout);

        viewPager.setAdapter(new CustomAdapter(getChildFragmentManager(), getContext()));
        viewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));

        return viewFragment;
    }

    @Override
    public void onActivityCreated(Bundle savedInstanceState) {

        //        tabLayout.setupWithViewPager(viewPager);
        tabLayout.post(new Runnable() {
            @Override
            public void run() { …
Run Code Online (Sandbox Code Playgroud)

android android-fragments android-viewpager android-tablayout

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

运行node.js时出现babel错误`无法找到相对于目录`的预设"es2015"

我正在尝试编译我的项目babel.我试图运行时遇到此错误(我正在使用babel某些代码包含ES6)

/usr/local/bin/node -r babel-register /Volumes/Elements/Learning/Node/Project/building-apis-with-nodejs-master/ntask-api/index.js
/Volumes/Elements/Dev/Node.js/building-apis-with-nodejs-master/ntask-api/node_modules/babel-core/lib/transformation/file/options/option-manager.js:328
        throw e;
        ^

Error: Couldn't find preset "es2015" relative to directory "/Volumes/Elements/Learning/Node/Project/building-apis-with-nodejs-master/ntask-api"
    at /Volumes/Elements/Dev/Node.js/building-apis-with-nodejs-master/ntask-api/node_modules/babel-core/lib/transformation/file/options/option-manager.js:293:19
    at Array.map (native)
    at OptionManager.resolvePresets (/Volumes/Elements/Dev/Node.js/building-apis-with-nodejs-master/ntask-api/node_modules/babel-core/lib/transformation/file/options/option-manager.js:275:20)
    at OptionManager.mergePresets (/Volumes/Elements/Dev/Node.js/building-apis-with-nodejs-master/ntask-api/node_modules/babel-core/lib/transformation/file/options/option-manager.js:264:10)
    at OptionManager.mergeOptions (/Volumes/Elements/Dev/Node.js/building-apis-with-nodejs-master/ntask-api/node_modules/babel-core/lib/transformation/file/options/option-manager.js:249:14)
    at OptionManager.init (/Volumes/Elements/Dev/Node.js/building-apis-with-nodejs-master/ntask-api/node_modules/babel-core/lib/transformation/file/options/option-manager.js:368:12)
    at compile (/Volumes/Elements/Dev/Node.js/building-apis-with-nodejs-master/ntask-api/node_modules/babel-register/lib/node.js:103:45)
    at loader (/Volumes/Elements/Dev/Node.js/building-apis-with-nodejs-master/ntask-api/node_modules/babel-register/lib/node.js:144:14)
    at Object.require.extensions.(anonymous function) [as .js] (/Volumes/Elements/Dev/Node.js/building-apis-with-nodejs-master/ntask-api/node_modules/babel-register/lib/node.js:154:7)
    at Module.load (module.js:488:32)

Process finished with exit code 1
Run Code Online (Sandbox Code Playgroud)

这是我的 package.json

{
  "name": "ntask-api",
  "version": "1.0.0",
  "description": "Task list API",
  "main": "index.js",
  "scripts": {
    "start": "npm run …
Run Code Online (Sandbox Code Playgroud)

babel node.js express

6
推荐指数
0
解决办法
599
查看次数

iOS系统库导致内存泄漏

我正处于我的应用程序错误修复和优化的最后阶段。我正在调试应用程序中的泄漏。现在只有导致泄漏的系统库UIKitCore。有什么可以做的吗?

在此处输入图片说明

在此处输入图片说明

那个奇怪的uikeyboardpredictionview引起怀疑main起作用的泄漏

我的main功能很简单

import UIKit
import RxSwift

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?

    var service: MovieService!
    let disposeBag = DisposeBag()

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        // Override point for customization after application launch.

        let service = MovieService(provider: TMDBprovider)

        let tabBarController = window?.rootViewController as! UITabBarController

        let popularMovieNavi = tabBarController.viewControllers?.first as! UINavigationController
        let popularMovieVC = popularMovieNavi.viewControllers.first as! PopularMovieVC
        popularMovieVC.viewModel = PopularMovieViewModel(service: service)

        let searchMovieNavi = …
Run Code Online (Sandbox Code Playgroud)

memory-leaks uikit

6
推荐指数
0
解决办法
626
查看次数

使用 Gradle 和 Kotlin 在预编译脚本中应用插件

我正在尝试应用precompile脚本gradle.kts文件(gradle.kts脚本已放入buildSrc/main/java。除了我无法添加带有版本的插件外,一切正常。例如我的test.gradle.kts

plugins {
  id("io.gitlab.arturbosch.detekt") version "1.1.1"
}
Run Code Online (Sandbox Code Playgroud)

但总是有错误

Invalid plugin request [id: 'io.gitlab.arturbosch.detekt', version: '1.1.1']. Plugin requests from precompiled scripts must not include a version number. Please remove the version from the offending request and make sure the module containing the requested plugin 'io.gitlab.arturbosch.detekt' is an implementation dependency of project ':buildSrc'.
Run Code Online (Sandbox Code Playgroud)

而且我也不能类来配置扩展

例如,这个通常的配置不起作用

configure<DetektExtension>
Run Code Online (Sandbox Code Playgroud)

我们如何指定插件版本precompile script?我们如何配置插件?

plugins gradle kotlin

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

带有ViewPager的TabLayout无法在片段Android中运行

嗨我在片段中有一个TabLayout和ViewPager.但是我不能在tab之间滑动来到子片段(在Activity中正常工作但在片段中不起作用).

这是我的Tablayout内部片段的代码:

@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {

        View inflateView = inflater.inflate(R.layout.fragment_assign_beacon_to_event, container, false);

        //Viewpager and TabLayout
        viewPager = (ViewPager)inflateView.findViewById(R.id.viewPager);
        viewPager.setAdapter(new CustomAdapter(getFragmentManager(), getContext()));

        tabLayout = (TabLayout)inflateView.findViewById(R.id.tabLayout);


        // Inflate the layout for this fragment
        return inflateView;
    }

@Override
    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);

    tabLayout.post(new Runnable() {
                @Override
                public void run() {
                    tabLayout.setupWithViewPager(viewPager);

            }
        });

        tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
            @Override
            public void onTabSelected(TabLayout.Tab tab) {
                viewPager.setCurrentItem(tab.getPosition());
            }

            @Override
            public void onTabUnselected(TabLayout.Tab tab) {
                viewPager.setCurrentItem(tab.getPosition());
            }

            @Override
            public void …
Run Code Online (Sandbox Code Playgroud)

android android-fragments android-viewpager android-tablayout

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