Swift in the use cmph

cmph It stands for C Minimal Perfect Hashing Library ,It is a very well-known, written in C minimal perfect hash library,What is a perfect hash?

Perfect hashing

Here we do not speak principle,You just need to know that the traditional hash conflict,We need to rely on a variety of algorithms to deal with conflict can be,For hash,Always need a table,This table reserved many locations,Then the calculated value is the coordinates of these locations,You can put data into the corresponding coordinate in。

But this time there is a problem,in case[……]

Click link to continue reading...

A quick look at the string

Most of the time,We need to look at many strings,To determine the specific content filtering out。For example, through the input method which pocketed,We need to use auxiliary code word to filter out candidates need。

In General,Find and Compare certainly figures to fastest,However, in the lexicon we can not put all the words are converted to digital (although theoretically feasible ......) search on the string,We realize there are many ways to,Here, I say my own ideas:

Set<String>

Since my thesaurus secondary screening is effective only for code words or word vocabulary,Then I consider[……]

Click link to continue reading...

Based on Dynamic Programming sentence input method

In General,We will not call it on the issue of dynamic programming algorithm is "Dynamic Programming”,But called "Hidden Markov Models”,but,If we simply use the dynamic programming algorithm to solve a common directed acyclic graph,Then it can only be said to be dynamic planning ......

This time we want for the,It is based on the sentence input method thesaurus。The hidden Markov model is not based on the state transition Solution。

Thesaurus

Since no model,Our sentence input is based on words,We need a thesaurus。The thesaurus should record the most ordinary common vocabulary,And there is a[……]

Click link to continue reading...

ios VoiceOver support for visually impaired users

In fact, few users know,ios system is actually a complete set of easy access mechanism,Many blind or visually impaired users prefer to useiphone

So,As a developer,I think both in terms of product sales or as a side responsibility,We should do well to easily access support。

Fortunately, however,,Thanks to Apple's strict development standards,It is generally as long as your app can be added to already approved,So basically VoiceOver It has been able to identify most of your app in the,More generic,For example tabV[……]

Click link to continue reading...

iOS platform SQLite Performance Optimization

Start

In the ios platform,Permanent storage of data so few,比如说 coredata,For example realm,There are several options of nosql,But unfortunately,Several programs to support functions are still too few nosql,So let their selection is very sad - after all,,If it is a simple application of the words,It is not as good as other programs to facilitate quick - although the trend is nosql。

This time we talk about another common storage solutions --sqlite,This is very powerful stuff,It is a realization by c[……]

Click link to continue reading...

How to customize pocketed input method?

How to customize pocketed input method?

In pocketed input method,I provides powerful customization features for you。Whether it is simply one kind of new programs Shuangpin,Or import a five-stroke input method code table,It can be completed。

First of all,We start with the concept

Key mapping scheme

Pocketed input method to use it to generate the corresponding mapping scheme,Such as smart abc、For example, the natural code, etc.。Button mapping program has two files,Such as "smart ABC.plist" then we would have a corresponding "intelligent ABC_rev.plist",The latter is not necessary,But if you want to open "button[……]

Click link to continue reading...

Being Chinese Wikipedia corpus

Recently doing input method thesaurus,Implement new sentence input model,(Based on input model sentence the word I would talk back before),The new model is based on the input sentence HMM (I.e.Hidden Markov Models) To do,Of course,Due to limited funds, I personally equipment,Only the second order matrix。But even so,Model still need training。

of course,Not to say that with the novels and to train bad,Just difficult to find businesses related fiction,after all,Area they cover too single,This is not really a high quality corpus。Speaking of high-quality,It is naturally non-Wiki[……]

Click link to continue reading...

Memory Problems swift hurricane

Swift language development in the use of time,Many of my friends will be baffling problem encountered memory full,Obviously there ARC ,Obviously the release of memory,But still let the program memory footprint with circulation soared。

There is not really a memory leak occurs,This is actually ARC A mechanism:In each of the main Runloop At the end of the clean-up。That is,It has a caching mechanism necessary - after all,,Who can guarantee real-time release, then you do not want to stay local variables to subsequent code to use it?

But apparently,This will[……]

Click link to continue reading...

SourceKitService take up a lot of memory and CPU solutions

Swift performed using Xcode development software language when,Many people in the latter part of the project will encounter such a problem,If that diagram as:SourceKitService Take up a lot of CPU and memory,Or even directly cause the system stuck。

Then,This in the end is how it all about? StuckOverflow of the vote on the answer is to say:

Find SourceKitService double-click it in the Activity Monitor,It opens the directory to see which,To delete the cache and strong[……]

Click link to continue reading...