
Objective-c
auspark
MacOS Objective-C、C、C++、Python、Lua、Shell
展开
-
用OC预览bundle中的API和属性
【代码】MacOS预览bundle中的API和属性。原创 2022-12-02 15:59:40 · 419 阅读 · 1 评论 -
获取OC对象的所有属性、所有方法(runtime)
OC运行时获取对象的所有属性、所有方法(runtime)创建NSObject的Category文件。引入runtime头文件。转载 2022-11-01 11:08:35 · 884 阅读 · 0 评论 -
OC常见加密算法实现——MD5
1、MD5加密1.1). 计算字符串的MD51.2). 获取文件的MD5原创 2022-07-07 15:49:03 · 1076 阅读 · 0 评论 -
@class + 查看dylib的版本
1. otool -L,file xxx>> otool -L /usr/local/Cellar/libftdi/1.4_2/lib/libftdi1.2.4.0.dylib /usr/local/Cellar/libftdi/1.4_2/lib/libftdi1.2.4.0.dylib: /usr/local/opt/libftdi/lib/libftdi1.2.dylib (compatibility version 2.0.0, current version 2.4.0)原创 2022-05-31 15:45:17 · 1230 阅读 · 0 评论 -
输出xcode当前project的环境变量
输出Xcode环境变量,下面是Version 11.0方法: 新增“Run Script”,输入脚本内容“env”,build后在“build log”中查看输出的环境变量1. 新增“Run Script”的方法2. 在“Run Script”中新增脚本内容“env”3. build程序4. 检查build log:Navigator -> thre report navigator5. 将xcode环境变量列出来后,有利于新手学习理解在build_sett原创 2022-05-31 11:17:40 · 1358 阅读 · 0 评论 -
NSTableRowView/NSTableCellView How To Set Custom Color To Selected Row?
方法一、1. set tableview selection highlight style toNSTableViewSelectionHighlightStyleNone2.in your tablView delegate implementtableView:shouldSelectRow:and write this code inside itNSTableViewRow *row= [_mainTable rowViewAtRow:selectedRow makeIfNe...转载 2020-12-30 16:32:03 · 1080 阅读 · 0 评论 -
贝塞尔曲线基本用法
使用UIBezierPath可以创建基于矢量的路径,此类是Core Graphics框架关于路径的封装。使用此类可以定义简单的形状,如椭圆、矩形或者有多个直线和曲线段组成的形状等。UIBezierPath是CGPathRef数据类型的封装。如果是基于矢量形状的路径,都用直线和曲线去创建。我们使用直线段去创建矩形和多边形,使用曲线去创建圆弧(arc)、圆或者其他复杂的曲线形状。1.使用UIBezierPath画图步骤:2.创建一个UIBezierPath对象3.调用-moveToPoint:设转载 2020-11-02 16:51:10 · 2493 阅读 · 0 评论 -
Mac OSX 鼠标键盘事件的监听和模拟
本文转自(调整了格式):http://enkichen.com/2018/09/12/osx-mouse-keyboard-event/最近完成了 Mac OSX 平台下的远程控制功能,期间找了不少资料,这里做个总结,主要涉及到一下知识点:OSX 的事件机制 OSX/iOS 响应链者链 鼠标事件的监听及模拟(鼠标单击、双击、拖动、滚动等事件) 键盘事件的监听及模拟(包括组合键的模拟) Keycode 键盘编码(统一 Windows、OSX、浏览器端键盘按键的编码值)事件分发机制在 OS转载 2020-10-26 17:02:25 · 4064 阅读 · 2 评论 -
NSTableView 实现右键菜单删除一行或多行
实现效果如下图,选中一行或多行,在选中行范围内右键,弹出Delete 菜单,实现删除选中行的效果。要实现右键显示菜单的效果,就需要重写NSView 的 (NSMenu *)menuForEvent:(NSEvent *)event 方法。NSTableView 虽然也继承自 NSView, 但是它默认是没有重写该方法的,所以我们需要定义一个 NSTableView 的子类,然后在该子类里重写 menuForEvent 方法。下面是我自己程序中的实现,它的数据源来自一个本地文本,所以这里也要实现它的.转载 2020-10-26 14:41:35 · 488 阅读 · 0 评论 -
macOS 富文本相关内容
项目上要加载html格式的文本,学习一下富文本相关内容。1.加载HTML标签文本因为解析的数据里面有html标签,就使用下面的代码把字符串转换成data,初始化时再用HTML类型,转换为富文本。 NSMutableAttributedString * attrStr = [[NSMutableAttributedString alloc] initWithData:[str dataUsingEncoding:NSUnicodeStringEncoding] options:@{ NSDocum转载 2020-09-25 10:25:04 · 260 阅读 · 0 评论 -
MacOS NSComboBox如何实现拖拽一个文件显示路径
软体中需要实现拖拽选择文件, 并存储选择历史记录的功能, 所以选择使用NSComboBox作为控件, 设置其为不可编辑, 实现拖拽效果如下要想实现拖拽的功能, MacOS Appkit给我们提供了几个基础类:Drag 相关类和协议位于 AppKit 中NSDraggingImageComponentNSDraggingItemNSDraggingSessionprotocols// Protocols:NSDraggingInfoNSDraggingDestination原创 2020-09-24 15:31:04 · 703 阅读 · 0 评论 -
生成Xcode中各个尺寸的Mac App Icon
在Mac App都有一个图标, 在Assets.xcassets/AppIcon中需要的像素尺寸很多,在网上一次只能生成一个, 太过麻烦了, 本来想省事, 结果还不如自己写个来的方便, 也不复杂!#import <Foundation/Foundation.h>#import <Cocoa/Cocoa.h>void saveImage_png(NSImage *image,NSString *name){ NSData *data = [image TI.原创 2020-09-16 09:40:22 · 1420 阅读 · 0 评论 -
macOS开发之NSTableView的应用详解
NSTableView的应用详解一、引言和iOS开发中的UITableView有很大差别,NSTableView并非是一个可滚动的列表视图,其是一个不可滚动、支持多列多行的原始列表视图。若要使NSTableView支持滚动,通常会将其嵌套入NSScrollView控件中。与UITableView类似,NSTableView的数据也是用过DataSource代理来提供,通过Delegate代理来进行表格视图的定制化。在OS X v10.6版本之前,NSTableView中行数据载体视图必须是NSCell的转载 2020-09-10 14:07:32 · 1944 阅读 · 0 评论 -
Objective-c循环遍历资料夹内容
# NSHomeDirectory() - (void)scanAndListFiles:(NSString *)path;{ // 1.判断文件还是目录 NSFileManager * fileManger = [NSFileManager defaultManager]; BOOL isDir = NO; BOOL isExist = [fileManger fileExistsAtPath:path isDirectory:&isDir]; if (...原创 2020-06-09 09:20:10 · 227 阅读 · 0 评论 -
NSOpenPanel&NSSavePanel
NSPanel 的使用https://github.com/JHiroGuo/JHPanelNSPanel包含NSOpenPanel文件打开面板和NSSavePanel文件保存面板。是用来提供文件打开路径选择 和文件保存路径选择的两种系统样式。NSOpenPanel用于文件打开路径或者文件保存路径的选择属性+(NSOpenPanel *)openPanelWithTitleMessage:(NSString *)ttMessage转载 2020-06-09 09:12:55 · 906 阅读 · 0 评论 -
NSTableCellView中如果是NSTextField, 在编辑状态下如何获取到NSTextField新输入的值
主要为NSTextField的delegate设置和实现,1. 在storyboard中要设置好NSTextField的delegate2. 实现delegate方法此处view controller是否继承实现NSTextFieldDelegate都无关紧要, 这是因为在NSControll中将以下几个方法用类目的方式, 添加到了NSObject内@interface NSObject(NSControlSubclassNotifications)- (void)co...原创 2020-05-18 17:53:43 · 689 阅读 · 0 评论 -
Mac OS给 App菜单栏某菜单item添加动作的过程
这个过程是充分使用FirstResponse:1. 新建工程, 并打开storyboard (新建过程省略)2.以File菜单为例, 为其添加一个LogFolder的menu item3. 在view controller中添加一个打开documents资料夹的IBAction function4. 新建此方法后, 其方法将能够在First Responder中找到5. 此时将File菜单中新建的LogFolder menu item与First Responder中的此方法原创 2020-05-18 16:02:33 · 879 阅读 · 0 评论 -
NSTableView右键单击弹出菜单(menu)的设置方法
此方法主要的社会在于NSTableView中的setMenu:方法使用1. 在storyboard中建立menu, 具体过程见下图2. 拖拽menu item(8)和menu separator(9)到新建的menu(7)内,设置好每一个menu的title, 并排列好格式, 保存3. 在view controller中将menu建立IBOutlet,@property (strong) IBOutlet NSMenu *tableMenu;4. 设置table的menu.原创 2020-05-18 15:16:12 · 826 阅读 · 0 评论 -
Mac OS -- ORSSerialPort打开serialPort时提示错误Operation not permitted
导入ORSSerialPort, 在打开serial port时, 系统报出来一下错误,Error Domain=NSPOSIXErrorDomain Code=1 "Operation not permitted" UserInfo={NSFilePath=/dev/cu.usbserial-Fixture1, NSLocalizedDescription=Operation not permitted}原因及解决办法:1. 权限问题,原因:电脑启用了SIP(System Integri..原创 2020-05-18 11:17:47 · 1381 阅读 · 0 评论 -
NSTableCellView的使用
NSTableView中的NSTableCellView最添加控件从库中拖各种view控件到NSTableCellView中,如image view,如check button,如round rect button分别拖入到NSTableCellView中从Connections inspector中可以看到,在NSTableCellView中可以看到有几个本身存在Outlets,包括...原创 2020-04-26 14:09:57 · 1770 阅读 · 2 评论 -
MacOS XPC的使用入门
MacOS:10.14,Xcode:11.01、随意创建一个工程,可以是App projectXcode -> File -> New -> Project... -> macOS -> Application -> App -> click Next填写Product Name(XPCDemo) ->选择或者不选择Team账号 -> ...原创 2020-04-21 10:54:14 · 3337 阅读 · 0 评论 -
MacOS CoreData(2)coredata DB连接/访问
ViewController.h文件// ViewController.h文件#import <Cocoa/Cocoa.h>#import <CoreData/CoreData.h>#import "Person+CoreDataClass.h"#import "Person+CoreDataProperties.h"@interface ViewCo...原创 2020-04-20 16:29:02 · 293 阅读 · 0 评论 -
MacOS coredata(1)创建工程
1、创建:xcode -> File -> New -> project... -> App || Command Line Tool -> Next -> 勾选 Use Core Data 2、创建Entity,设置字段和属性选中CoreDataDemo.xcdatamodeld文件 -> Add Entity -...原创 2020-04-20 16:01:40 · 378 阅读 · 0 评论 -
python中常用魔术方法
__new__(cls, *args, **kwargs) 创建对象时调用,返回当前对象的一个实例;注意:这里的第一个参数是cls即class本身__init__(self, *args, **kwargs) 创建完对象后调用,对当前对象的实例的一些初始化,无返回值,即在调用__new__之后,根据返回的实例初始化;注意,这里的第一个参数是self即对象本身...原创 2020-04-02 09:30:27 · 280 阅读 · 0 评论